Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的日历事件和alarmManager服务_Android_Android Layout_Android Emulator_Android Intent_Android Ndk - Fatal编程技术网

android中的日历事件和alarmManager服务

android中的日历事件和alarmManager服务,android,android-layout,android-emulator,android-intent,android-ndk,Android,Android Layout,Android Emulator,Android Intent,Android Ndk,我正在尝试创建一个应用程序,如下所示: 用户插入事件时间并设置在此时间内要执行的一些操作,如 在这段时间内将手机切换到振动模式或关闭wifi,这样我会让用户插入他的活动数据,并将其存储在android日历上 然后将操作保存到数据库中。我需要的是一个在日历事件发生时触发的服务,这样我就可以捕获事件id并将其与数据库中的操作进行比较,并执行用户需要的操作 有什么帮助吗?据我所知,我可能是错的,因为日历没有真正在操作系统级别实现,所以当事件发生时,您不能直接与手机上显示的事件触发器(提醒等)联系起来

我正在尝试创建一个应用程序,如下所示:

用户插入事件时间并设置在此时间内要执行的一些操作,如 在这段时间内将手机切换到振动模式或关闭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);