0
我有一個AlarmManager API的問題,它根本不會在我的三星設備上觸發,但它適用於其他Android設備...AlarmManager不能在Android棒棒糖上使用samsung設備5.0.2
我的代碼是這樣的:
public void setAlarm(int hourAlarm, int minutesAlarm, int numeroAlarm, boolean yesOrNoRepeatAlarm) {
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, numeroAlarm, broadcastIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Log.i("numeroAlarm", numeroAlarm + "");
Calendar calendar = Calendar.getInstance();
if((calendar.get(Calendar.HOUR_OF_DAY) > hourAlarm) ||
(calendar.get(Calendar.HOUR_OF_DAY) == hourAlarm && calendar.get(Calendar.MINUTE) > minutesAlarm)) {
calendar.add(Calendar.DATE, 1);
}
calendar.set(Calendar.HOUR_OF_DAY, hourAlarm);
calendar.set(Calendar.MINUTE, minutesAlarm);
Log.i("timeInMillis", calendar.getTimeInMillis() + "");
Log.i("repeatingAlarm", yesOrNoRepeatAlarm + "");
if(yesOrNoRepeatAlarm) {
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
}
else {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
}
它完美對其他設備(特別是在奇巧),但不是棒棒糖在我的三星設備, 你有什麼想法嗎?
如果我猜,你正在被三星專有的電池擴展技術,類似於在在Android 6.0是什麼打盹模式咬傷。搜索設備的電池/電源設置,並查看是否可以查看是否啓用了該功能。如果是,請禁用它(或將您的應用程序白名單,如果這是一個選項)並重新運行您的測試。如果你的代碼現在可以工作,你就知道你的困難來源。除了Android 6.0以外,SONY設備和其他可能的功能也有類似的功能。 – CommonsWare