我在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) }
如何解决?
答案 0 :(得分:1)
你对HTC有什么Android版本? - 我认为日历缩进仅适用于Android 4以后。
修改强>
您使用的内容以及How to set a reminder in Android?使用的内容,是一种添加日历事件的非官方方式,根据各种Android实施和设备,这将有效或无效。
从Android 4(API Level 14)开始,有一种正式的方法,使用CalendarProvider。
答案 1 :(得分:0)
最可能你为你的意图设置了错误的数据...在Intent.setData()方法中检查你的Uri参数....
此外,你应该使用try / catch包围它,因为一些禁用/卸载日历应用程序的用户可能在启动该意图时关闭力