无论我如何尝试,我都无法让alarmManager和接收器工作 - 似乎有很多不同的方法可以从我搜索的东西中完成它,但似乎没有任何工作。无法获取AlarmManager和广播工作
我在清单:
<receiver android:name="AlarmReceiver" />
我使用内部类的广播接收器:
private class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("ALARM","TRIGGERED");
Notification(filteredList.get(0).getTitle());
}
}
我打电话功能SetAlarm启动管理器:
private void SetAlarm(long time) {
AlarmManager alarm_mgr = (AlarmManager)(this.getSystemService(Context.ALARM_SERVICE));
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
//PendingIntent pi = PendingIntent.getService(MainActivity.this, 0, intent, 0);
PendingIntent pi = PendingIntent.getBroadcast(this, 111, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
alarm_mgr.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pi);
Log.d("ALARMSET", "Alarm " + calendar.getTime().toString());
}
,你可以看到,在接收器中我有一个通知电话 - 我不会发布,因为我知道这个工程,但有也是一个不工作的日志。 出于测试目的,我使用日历功能将时间设置为当前时间。 你可以看到pendingIntent,我已经尝试了getService和getBroadcast,我无法弄清楚我需要哪个,但无论如何都不工作。
我确定我错过了一些东西,我不知道是什么,而且我似乎无法在Google上找到任何答案。
AlarmReceiver可以作为内部类吗?我已经把它放在那里,因为我需要访问我的“filteredList”列表对象。
THX
没错的作品,现在只需要找到一种方法来访问我的列表对象,这样我就可以在通知中使用特定的消息。我可以通过接收器中的字符串? – makapaka 2014-12-04 14:15:33
http://stackoverflow.com/questions/3125009/android-passing-data-from-activity-to-broadcastreceiver-shows-null将帮助你实现将数据传递到广播接收器。如果其工作那么在哪里接受我的答案:-) – MathanG 2014-12-04 14:34:57
烨我忘了额外的第二.. THX! – makapaka 2014-12-04 14:38:29