更新时间后Android警报不起作用

时间:2018-03-20 02:36:19

标签: android android-intent broadcastreceiver task alarm

我已经设置了重复闹钟,它运行良好,但是当我更新闹钟不起作用的时候。我在待处理的意图中使用相同的代码和标记,但是从不同的活动创建和更新。在日志中,它表示警报在特定时间触发但不起作用。谁能说出问题是什么?

从插入活动中调用闹钟:

  startAlarm(Insert.this, pillName, timeInMilis, code);

从编辑活动中调用闹钟:

startAlarm(Edit.this, pillName, timeInMilis, code);

创建和更新闹钟的功能:

public void startAlarm(Context context, String pillName, long time, int code) {
    Intent aIntent = new Intent(context, AlarmReceiver.class);
    aIntent.putExtra("pillName", pillName);
    aIntent.putExtra("code", code);
    PendingIntent pIntent = PendingIntent.getBroadcast(context, code, aIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time,60000, pIntent);
}

广播接收器类:

public void onReceive(Context context, Intent intent) {
    String pillName=intent.getExtras().getString("pillName");
    MediaPlayer mediaPlayer=MediaPlayer.create(context, Settings.System.DEFAULT_NOTIFICATION_URI);
    mediaPlayer.start();
    Toast.makeText(context,"Testing Alarm::"+pillName,Toast.LENGTH_SHORT).show();

}

1 个答案:

答案 0 :(得分:0)

在停止AlarmManager待定意图之前启动时。它可能运作良好