我正在开发一个使用本地通知的Android应用程序 使用Alarm Manager和BroadCast Receiver。我收到通知,默认没有任何错误。我没有收到通知,如果我强制使用设置停止我的申请 - >应用 - > ManageApplication-> MyApplication->强制停止。我的代码是
安排活动
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 2);
Intent intent = new Intent(this, AlarmReceiver.class);
intent.putExtra("alarm_message", "O'Doyle Rules!");
PendingIntent sender = PendingIntent.getBroadcast(this, 192837,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
我的BroadCast接收器
try
{
Bundle bundle = intent.getExtras();
String message = bundle.getString("alarm_message");
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
Intent i=new Intent(context,AlertActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
catch (Exception e)
{
e.printStackTrace();
}
请给我一些建议来解决我的问题。在此先感谢
答案 0 :(得分:0)
你可以解释一下吗...我猜你没有使用任何后台服务或应用程序小部件,你怎么能期望你的应用程序即使在强行关闭后仍会继续运行???
答案 1 :(得分:0)
这不起作用,您必须执行以下操作:
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(SystemClock.elapsedRealtime());
cal.add(Calendar.MINUTE, 2);
......等等......
答案 2 :(得分:0)
API forcestoppackage将取消与包关联的警报 所以将来什么都不会发生。
forcestopPackage()将发送一个带有动作“package_restart”的广播,AlarmManagerService监听此广播,并删除强制停止的应用设置的所有闹钟。