日历事件和android中
问题描述:
我想如下创建一个应用程序alarmManager服务:日历事件和android中
用户将事件时间,并设置了一些行动,在这个时候做这样 开启手机振动模式这段时间或关闭wifi,所以我会让用户插入他的事件数据,我将它存储在Android日历上。
然后将操作保存在数据库中。我需要的是在发生日历事件时触发的服务,以便我可以捕获事件ID并将其与数据库中的操作进行比较,并执行用户需要的操作。
请帮忙吗?
答
据我所知,我可能是错的,因为日历并没有真正在操作系统级别实现,所以您不能直接绑定到您在手机上看到的事件触发器(提醒等)事件即将到来。
或多或少,手机本身的日历应用程序由设备制造商(HTS,摩托罗拉等)实施,这意味着事件触发BroadCast接收器(或服务)不是您可以连接的东西。
这将在Ice Cream Sandwich中有所不同,我相信随着日历API的推出....目前还没有很多4.0的设备。
答
这个广播接收机至少在我的手机上工作(没有测试过其他人)。
A.在代码
IntentFilter inFilter = new IntentFilter(CalendarContract.ACTION_EVENT_REMINDER);
inFilter.addDataScheme("content");
registerReceiver(myRemindersReceiver, inFilter);
看在调试器这个广播消息中的manifest.xml使用接收器
<receiver android:name=".MyRemindersReceiver" >
<intent-filter>
<data android:scheme="content" />
<action android:name="android.intent.action.EVENT_REMINDER" />
</intent-filter>
</receiver>
B.使用接收器,似乎这个消息有没有额外的束。然而它在intent.getData()中有一个Uri,我认为它是日历事件的Uri。所以你需要查询这个uri来获得更多有关剩余事件的信息。
你应该更清楚地解释你的任务,用较短的短语,可能通过以下步骤进行构建:例如,1,2,3 ...以及用粗体标出重要词语。否则,很难阅读你的问题。 – 2012-01-17 15:29:56
我想在日历中存储的事件发生时执行操作,所以我希望收听日历的事件以及事件发生时我做事的人 – user935143 2012-01-17 19:05:46