カレンダーアプリを呼び出した後、そのまま自動で
保存できるようにしたいのですが、どのようにすればいいですか?
実行はされるのですが、
カレンダーアプリ見ても
2月21日7時30分に「タイトル」が保存されません。
アドバイスお願いします。
public class MainActivity extends AppCompatActivity {
private final int REQUEST_PERMISSION = 10; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); readContentActivity(); } // Permissionの確認 public void checkPermission() { // 既に許可している if (checkSelfPermission(Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED) { requestLocationPermission(); } } // 許可を求める private void requestLocationPermission() { if (shouldShowRequestPermissionRationale( Manifest.permission.WRITE_CALENDAR)) { requestPermissions(new String[]{Manifest.permission.WRITE_CALENDAR}, REQUEST_PERMISSION); } else { Toast toast = Toast.makeText(this, "許可されないとアプリが実行できません", Toast.LENGTH_SHORT); toast.show(); requestPermissions(new String[]{Manifest.permission.WRITE_CALENDAR,}, REQUEST_PERMISSION); } } // 結果の受け取り @Override public void onRequestPermissionsResult( int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode == REQUEST_PERMISSION) { // 使用が許可された if (grantResults[0] != PackageManager.PERMISSION_GRANTED) { // それでも拒否された時の対応 Toast toast = Toast.makeText(this, "これ以上なにもできません", Toast.LENGTH_SHORT); toast.show(); } } } public void readContentActivity() { Calendar beginTime = Calendar.getInstance(); beginTime.set(2020, 2, 21, 7, 30); Calendar endTime = Calendar.getInstance(); endTime.set(2020, 2, 21, 8, 30); ContentResolver cr = getContentResolver(); ContentValues values = new ContentValues(); values.put(Events.CALENDAR_ID, 1); values.put(Events.TITLE, "タイトル"); values.put(Events.DESCRIPTION, "説明"); values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getID()); values.put(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis()); values.put(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis()); if (checkSelfPermission(Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED) { checkPermission(); } cr.insert(Events.CONTENT_URI, values); }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。