Android BroadcastReceiver无法在Android 7.0上运行

时间:2018-03-29 22:45:05

标签: android broadcastreceiver

代码适用于Android 5,6和8.1。只是不在我的Moto G5 Plus(7.0)测试设备上。有点困惑。

public void startEMAAlarm(){
    Log.d(TAG, "startEMAAlarm: in start ema alarm");

    Calendar cal = Calendar.getInstance();
    long when = cal.getTimeInMillis();

    cal.setTimeInMillis(System.currentTimeMillis());
    cal.set(Calendar.HOUR_OF_DAY, 10);
    cal.set(Calendar.MINUTE, 30);

    AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, EMAAlarmReciever.class);
    startEMAIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
    alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 1000 * 60 * 5, startEMAIntent);
    Log.d(TAG, "startEMAAlarm: alarm should be set");


}

在我的清单中:

<receiver android:name=".EMAAlarmReciever"/>

当我运行它时,EMAAlarmReciever中的onReceive中的日志消息不会运行!虽然它在大约7个其他手机上,但我只有一个7.0设备可供测试。

我想我必须遗漏一些简单的东西,只是不确定它是什么。任何帮助赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

好的,有问题的手机是Moto G5 Plus,由于某种未知的原因,它只需要24小时才能开始工作,而其他手机则立即启动。将随机Android碎片问题再解决一个问题。