如何在应用程序被刷出后让警报管理器和广播接收器保持工作?

时间:2017-08-31 14:31:01

标签: android alarmmanager android-broadcastreceiver

我正在构建提醒用户未读邮件的应用。我的问题是,用户从上次使用过的应用程序列表中将其刷出后,我的广播接收器和报警管理器都无法正常工作。该问题有解决方案吗?

我读过添加'机器人:过程=":远程"在接收者的清单中可能有所帮助,但事实并非如此。该应用程序不幸被关闭了#39;收到此消息后,该行在清单中。

我想知道Messenger或Mail等应用程序是如何工作的?他们必须在收到消息时通知用户,并且用户正在刷掉消息,与其他应用程序一样。

以下是我设置闹钟的方法:

Intent i = new Intent(MainActivity.mContext,AlarmReceiver.class);
i.putExtra("number",numerNadawcy);
i.putExtra("hour",h);
i.putExtra("minute",m);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent alarmIntent = PendingIntent.getBroadcast(MainActivity.mContext, 123, i, 0);

AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
if(Build.VERSION.SDK_INT>=19)
{
         alarmMgr.setExact(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+h*60*60*1000+m*60*1000,alarmIntent);


}
else
{
         alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),h*60*60*1000+m*60*1000, alarmIntent);
}

0 个答案:

没有答案