1

以下は、Androidアプリにイベントを追加するために使用しているコードです

Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra(Events.TITLE, summary);
intent.putExtra(Events.DESCRIPTION, summary);
intent.putExtra(Events.EVENT_LOCATION, "");     
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginCal.getTimeInMillis());
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endCal.getTimeInMillis());
intent.putExtra(Events.ALL_DAY, allDayFlag);
intent.putExtra(Events.STATUS, 1);
intent.putExtra(Events.VISIBLE, 0);
intent.putExtra(Events.HAS_ALARM, 1);
startActivity(intent);

このコードは Android 4.0 エミュレーターでは正常に動作しますが、Android 4.0 の Samsung Galaxy S II をチェックインするとクラッシュし、エラー ログは次のようになります。

Error ( 4489): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.INSERT typ=vnd.android.cursor.item/event (has extras) }

このエラーを修正する方法

4

3 に答える 3

2

using Intent.ACTION_EDIT代わりに試してください。

于 2012-07-11T11:23:21.740 に答える
0

カレンダーアプリケーションにカレンダーが設定されていない可能性があります。デバイスに付属のネイティブカレンダーアプリでイベントを作成してみてください。イベントの作成中にエラーが発生した場合。

はいの場合、構成されたカレンダーがないことが問題である可能性があります。

いいえの場合、つまりネイティブアプリでイベントを正常に作成できた場合は、コードに問題がある可能性があります。

しかし、コードで気付いたのは、calendar_idを指定していないことです。このイベントはで作成されるはずです。

Calendar_idは、カレンダーでイベントを作成する際の必須フィールドです。これをコードに入れてみてください。

于 2012-05-19T06:44:02.283 に答える