我正在尝试发送本地推送通知。为此,我定义了一个AlarmManager,它应该在一秒后发送推送不通知。 这很好......直到中午12点。它现在连续两天,应用程序在12点之后不起作用,但之前很好。
以下是AlarmManager的定义:
public void click(View view)
{
Intent intent = new Intent(this, Push.class);
calendar = Calendar.getInstance();
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService
(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis()+1000, pendingIntent);
Log.d("Push", "started");
}
这就是BroadcastReceiver的onReceive():
public void onReceive(Context context, Intent intent)
{
Log.d("Push", "done");
[...]
}
你知道它为什么总是失败吗?我想这是日历,但我不知道如何解决它。
由于
答案 0 :(得分:0)
我在这里看不到代码中的任何问题。如果您尚未解决问题,请发布更详细的信息或代码,以便我们确定问题。
您也可以尝试使用Handler类解决问题。
https://developer.android.com/reference/android/app/AlarmManager.html#set(int,long,android.app.PendingIntent)
Android文档也建议使用此功能。
注意:对于计时操作(刻度,超时等),使用Handler更容易,更有效