应用程序停止时,如何在Android中获取本地通知?

时间:2011-07-28 13:00:17

标签: android notifications

我正在开发一个使用本地通知的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();
        }

请给我一些建议来解决我的问题。在此先感谢

3 个答案:

答案 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监听此广播,并删除强制停止的应用设置的所有闹钟。