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