Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 安卓:如何从定时警报启动服务?_Android_Service_Alarmmanager_Android Pendingintent - Fatal编程技术网

Android 安卓:如何从定时警报启动服务?

Android 安卓:如何从定时警报启动服务?,android,service,alarmmanager,android-pendingintent,Android,Service,Alarmmanager,Android Pendingintent,我就是不能让我的闹钟被炒鱿鱼。有关取消、保存和重新启动后恢复的所有问题都已解决。只是在预期的时间里什么都没有发生。我试图开始一项活动而不是服务,但没有区别。实际上,我有点奇怪,因为没有任何地方规定不仅应该创建服务对象,而且应该启动服务对象。这是自动的,因为类型?从活动直接调用startService()可以正常工作,因此问题在于警报,而不是服务。很遗憾,当前应用程序设置的警报无法列出以检查是否一切正常 感谢您的帮助 long INTERVAL_WEEK = AlarmManager.INTERV

我就是不能让我的闹钟被炒鱿鱼。有关取消、保存和重新启动后恢复的所有问题都已解决。只是在预期的时间里什么都没有发生。我试图开始一项活动而不是服务,但没有区别。实际上,我有点奇怪,因为没有任何地方规定不仅应该创建服务对象,而且应该启动服务对象。这是自动的,因为类型?从活动直接调用startService()可以正常工作,因此问题在于警报,而不是服务。很遗憾,当前应用程序设置的警报无法列出以检查是否一切正常

感谢您的帮助

long INTERVAL_WEEK = AlarmManager.INTERVAL_DAY * 7;
DateFormat df = new SimpleDateFormat("E, yyyy-MM-dd'T'HH:mmZ");
Log.d(TAG, "next alarm " + df.format(cal.getTime())); // checking the right time
Intent showNotificationIntent = new Intent(context, MyNotificationService.class);
alarmIntent = PendingIntent.getBroadcast(context, dayOfWeek, showNotificationIntent, 0);
getAlarmManager(context).setInexactRepeating(AlarmManager.RTC, cal.getTimeInMillis(),
    INTERVAL_WEEK, alarmIntent);

创建PendingEvent时,应该使用PendingEvent.getService()而不是PendingEvent.getBroadcast()。

太好了。我不明白为什么会有各种各样的get…()方法。谢谢