【问题标题】:AlarmManager doesn't work on samsung device with Android lollipop 5.0.2AlarmManager 不适用于装有 Android lollipop 5.0.2 的三星设备
【发布时间】:2016-05-27 20:21:16
【问题描述】:

我的 AlarmManager API 有问题,它在我的三星设备上根本不启动,但它在其他 Android 设备上运行...

我的代码是这样的:

 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);
    }

}

它可以在其他设备上完美运行(特别是在 kitkat 上),但不能在我的三星设备上的棒棒糖上运行, 请问你有什么想法吗?

【问题讨论】:

  • 如果我不得不猜的话,你正在被三星专有的电池扩展技术所困扰,类似于 Android 6.0 中的打盹模式。搜索设备的电池/电源设置,看看是否可以找到它是否已启用。如果是,请禁用它(或将您的应用程序列入白名单,如果这是一个选项)并重新运行您的测试。如果您的代码现在可以工作,那么您就知道困难的根源。除了 Android 6.0+ 之外,SONY 设备和可能的其他设备也有类似的功能。

标签: android alarmmanager android-5.0-lollipop samsung-mobile


【解决方案1】:

我遇到了同样的问题,经过大量搜索和解决方法后,我认为Lollipop 及更高版本的三星设备智能管理器可能是问题所在。如果手机正在使用电池并且屏幕关闭,此组件可以延迟警报管理器关闭,它会在 3 分钟后触发。当然你可以关闭智能管理器看看this

  • 在设备上启动 Samsung Smart Manager 应用程序
  • 点击电池
  • 点击应用优化
  • 详情
  • 找到你的APP
  • 选择“禁用”

但在我的情况下它不起作用,禁用智能管理器在 2 台带有 Lollipop 的三星设备上都不起作用。它所做的工作是通过将我的应用程序包的名称重构为包含String“警报”或“警报”来“愚弄”智能管理器,例如com.example.alarm.myApplication。您也可以参考此link 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2023-04-11
    • 2011-09-19
    相关资源
    最近更新 更多