1

HTC(v2.3.3)でこのエラーが発生し、Galaxy s3(v4.1)で動作します

Intent intent = new Intent(Intent.ACTION_EDIT)
            .setData(Uri.parse(EventUtils.EVENT_URI))
            .putExtra(Event.EXTRA_EVENT_BEGIN_TIME,
                    beginTime.getTimeInMillis())
            .putExtra(Event.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis())
            .putExtra(
                    Event.TITLE,
                    Utils.getPref(getApplicationContext(),
                            Constant.PREF_EVENT_TAG,
                            Constant.CONST_EVENT_TAG)
                            + "Meeting")
            .putExtra(Event.DESCRIPTION, "important meeting")
            .putExtra(Event.AVAILABILITY, Events.AVAILABILITY_BUSY);
    // .putExtra(Event.EVENT_LOCATION, "The gym")
    // .putExtra(Intent.EXTRA_EMAIL,
    // "rowan@example.com,trevor@example.com");

    if (calID != -1) {
        intent.putExtra(Event.CALENDAR_ID, calID);
    }

    startActivity(intent);

例外

01-13 18:58:59.417: E/AndroidRuntime(31730): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.EDIT dat=content://com.android.calendar/events (has extras) }

どうすれば解決できますか?

4

2 に答える 2

1

HTC にはどの Android バージョンがありますか? -- カレンダーのインデントは Android 4 以降だけだと思います。

編集:

Androidでリマインダーを設定する方法 これは、カレンダー イベントを追加するための非公式な方法であり、さまざまな Android の実装とデバイスに応じて機能する場合と機能しない場合があります。

Android 4 (API レベル 14) 以降では、CalendarProviderを使用してそれを行う公式の方法があります。

于 2013-01-13T13:50:36.110 に答える
0

インテントに間違ったデータを設定した可能性があります...Intent.setData()メソッドのUriパラメータを確認してください...。

また、カレンダーアプリを無効化/アンインストールしている一部のユーザーは、そのインテントを起動するときに強制的に閉じる可能性があるため、try/catchで囲む必要があります

于 2013-01-13T13:47:01.740 に答える