コード
次のように、Android アプリケーションに Calendar Intent を実装しました。
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setData(Events.CONTENT_URI);
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, parsedStartTime.toMillis(false))
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, parsedEndTime.toMillis(false))
intent.putExtra(Events.TITLE, eventInfo.getName())
intent.putExtra(Events.DESCRIPTION, eventInfo.getText())
intent.putExtra(Events.EVENT_LOCATION, eventInfo.getWhere())
intent.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);
startActivity(intent);
問題
公式の開発者ガイドにあるように、一部のデバイスで問題が発生するように見えるためACTION_EDIT
、私は を使用ACTION_INSERT
しました。
今、このコードは私がテストしたデバイスで問題なく動作します。これらには、Android 4.1.2 カスタム ROM を搭載した Motorola Defy+ と、Samsung の Android 4.1.2 を搭載した Samsung Galaxy SIII Mini が含まれます。
しかし、Android 4.0.4 を搭載した Samsung Galaxy SII でアプリがクラッシュするという報告があります。具体的にはエラーで:
android.content.ActivityNotFoundException
悲しいことに、これは私が得たすべての情報です。私は電話自体にアクセスできないためです (ユーザーからのものです)。アナリティクスからエラーが発生しました。
質問
この投稿で見たように、Samsung とカレンダー プロバイダーには何らかの問題があります。この電話で Calendar Intents を使用する方法はありますか? または、getContentResolver() を使用する必要がありますか?
この場合、カレンダーのアクセス許可をアプリに追加する必要があると思いますが、ユーザーはイベントを保存するカレンダーを選択できません。
どんな助けでも大歓迎です!