打盹模式电池优化,设备特定问题

时间:2017-04-10 11:20:16

标签: android samsung-galaxy android-doze android-doze-and-standby redmi-device

我以编程方式实施了忽略电池优化功能。 我发现了很多问题和答案,但我想知道 IGNORE_BATTERY_OPTIMIZATIONS 仅适用于纯机器人,还是有其他任何情况?

我列出了以下几种设备:

  • Moto g4(7.0)
  • Moto g play(6.0)
  • 三星galaxy note 4(6.0)
  • Mi note 4(6.0)
  • Lenovo Tab(6.0)
  • 荣誉(6.0)

它在Moto设备中正常工作。

在Moto,我们能够弹出,如果我们接受许可,那么它运作良好。

联想标签&amp ;;荣誉设备。

  • 在Lenovo选项卡中,当出现权限弹出窗口时,如果我们接受了权限,则添加了应用程序,但是当我们手动更改设置时,它无法正常工作。
  • 在Honor设备中,当我们获得权限弹出并接受许可后,我们打开设置并检查应用程序状态,其中列出的不允许电池优化应用程序,但应用程序的状态是"允许电池优化"。之后,当我们手动允许它时,它将起作用。

在MI和三星设备中,它不再起作用了。

井Mi设备是特殊情况,因为它们具有定制架构,因此我们不关心MI设备。

对于三星Note 4,有一个特殊情况如下:

安装应用后,我们会弹出权限并接受权限。之后我们在设置中进行检查,但该应用未列在"不允许电池优化"应用列表。 (注意:当设备重新启动添加的应用程序时,不允许进行电池优化)

以下是代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

        msPackageName = getPackageName();
        moPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
        Log.i(TAG, "Permission " + moPowerManager.isIgnoringBatteryOptimizations(msPackageName));

        if (!moPowerManager.isIgnoringBatteryOptimizations(msPackageName)) {
            Intent loIntent = new Intent();
            loIntent.setAction(android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            loIntent.setData(Uri.parse("package:" + msPackageName));
            startActivity(loIntent);

        } 
    }

请为这种不同的行为提供建议。如果有解决方案,请告诉我。它变得令人沮丧。

0 个答案:

没有答案