android中的日历事件和alarmManager服务
我正在尝试创建一个应用程序,如下所示: 用户插入事件时间并设置在此时间内要执行的一些操作,如 在这段时间内将手机切换到振动模式或关闭wifi,这样我会让用户插入他的活动数据,并将其存储在android日历上 然后将操作保存到数据库中。我需要的是一个在日历事件发生时触发的服务,这样我就可以捕获事件id并将其与数据库中的操作进行比较,并执行用户需要的操作android中的日历事件和alarmManager服务,android,android-layout,android-emulator,android-intent,android-ndk,Android,Android Layout,Android Emulator,Android Intent,Android Ndk,我正在尝试创建一个应用程序,如下所示: 用户插入事件时间并设置在此时间内要执行的一些操作,如 在这段时间内将手机切换到振动模式或关闭wifi,这样我会让用户插入他的活动数据,并将其存储在android日历上 然后将操作保存到数据库中。我需要的是一个在日历事件发生时触发的服务,这样我就可以捕获事件id并将其与数据库中的操作进行比较,并执行用户需要的操作 有什么帮助吗?据我所知,我可能是错的,因为日历没有真正在操作系统级别实现,所以当事件发生时,您不能直接与手机上显示的事件触发器(提醒等)联系起来
有什么帮助吗?据我所知,我可能是错的,因为日历没有真正在操作系统级别实现,所以当事件发生时,您不能直接与手机上显示的事件触发器(提醒等)联系起来 或多或少,手机自带的日历应用程序是由设备制造商(HTS、摩托罗拉等)实现的,这意味着事件触发广播接收器(或服务)不是您可以绑定的
我相信,随着日历API的推出,冰淇淋三明治中的这一点将有所不同……目前4.0设备还不多。这个广播接收器至少可以在我的手机上工作(还没有测试过其他设备) A.在manifest.xml中使用接收方
<receiver android:name=".MyRemindersReceiver" >
<intent-filter>
<data android:scheme="content" />
<action android:name="android.intent.action.EVENT_REMINDER" />
</intent-filter>
</receiver>
在调试器中查看此广播消息,似乎此消息在捆绑包中没有额外内容。但是,它在intent.getData()中有一个Uri,我假设它是日历事件的Uri。因此,您需要查询此uri以获得有关剩余事件的更多信息。您应该更清楚地解释您的任务,使用较短的短语,也许可以按如下步骤进行结构化:1、2、3。。。例如,用粗体字评论重要的单词。否则,很难理解您的问题。我想在日历中存储的事件发生时执行操作,因此我需要侦听日历的服务,并且在事件发生时执行操作
IntentFilter inFilter = new IntentFilter(CalendarContract.ACTION_EVENT_REMINDER);
inFilter.addDataScheme("content");
registerReceiver(myRemindersReceiver, inFilter);