我是通过意图创建日历活动。这是我的代码:
Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(CalendarContract.Events.CONTENT_URI)
.putExtra(CalendarContract.Events.TITLE, "Calendar event")
.putExtra(CalendarContract.Events.DESCRIPTION, " This is a calendar event " + activity().getCallHistoryItem().getCaller())
.putExtra(CalendarContract.Events.EVENT_LOCATION, "Location")
.putExtra(Intent.EXTRA_PHONE_NUMBER, activity().getCallHistoryItem().getCaller());
startActivity(intent);
}
在按钮的onClick()上,此意图启动,日历应用程序按预期启动。我的问题是,有没有办法确认用户创建了这个事件?提前谢谢。
答案 0 :(得分:1)
您可以使用BroadcastReceiver通过使用以下intent过滤器创建BroadcastReceiver来接收默认Android日历中的更改事件:
<receiver
android:name=".NativeEventChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED"/>
<data android:scheme="content"/>
<data android:host="com.android.calendar"/>
</intent-filter>
</receiver>
请注意,此接收器不会传递任何信息 - 您需要在收到日历API后查询日历API以查找已更改的内容。如果您正在执行可能需要很长时间的操作,您可能需要考虑使用WakefulBroadcastReceiver 和IntentService来执行更长时间的运行(因为BroadcastReceivers必须在10秒内完成{ {3}})。