Android:如何从预定的警报启动服务?

时间:2014-01-25 21:56:17

标签: android service alarmmanager android-pendingintent

我不能让我的警报被解雇。重启后取消,保存和恢复的所有问题都已得到解决。只是在预期的时间没有任何事情发生。我尝试启动一个Activity而不是Service,但是没有区别。实际上,我有点想知道,因为它没有声明Service对象不仅应该被创建,而且应该被启动。这种类型是自动的吗?直接从Activity调用startService()工作正常,因此问题在于Alarm,而不在Service中。遗憾的是,无法列出当前应用程序设置的警报以检查一切是否正常。

感谢任何帮助。

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);

1 个答案:

答案 0 :(得分:1)

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