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 回答