3

我使用Android 6与Cyanogenmod,当我开始以下意图,然后没有反应!对话框的意图Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

if(Build.VERSION.SDK_INT >= Constants.IGNORE_BATTERY_OPTIMIZATIONS_MIN_BUILD) { 
        String packageName = getPackageName(); 
        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
        if (!pm.isIgnoringBatteryOptimizations(packageName)) { 
         Intent intent = new Intent(android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS).setData(Uri.parse("package:" + packageName)); 
         try { 
          startActivity(intent); 
    ... 

电池优化的对话框应该出现吗?如果是这样,我做错了什么?

+0

注意,很可能你的应用程序将得到从存储中删除,如果你使用此功能 –

+1

不,他们不会,因为我只想要显示对话框并且用户自己做。 – egmontr

+0

[ACTION \ _REQUEST \ _IGNORE \ _BATTERY \ _OPTIMIZATIONS在未触发时可能出现重复](https://stackoverflow.com/questions/40434858/action-request-ignore-battery-optimizations-in-not-firing) – noongiya95

回答

6

你需要有这条线在你的清单:

<uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/> 
+0

.. ....这是真棒解决方案,以获得电池优化设置警报......但我已经阅读了一些地方,如果在清单文件中写入上述权限谷歌Play商店将拒绝从Play商店的应用程序.. ..这是真的 ? – himCream

+0

我读了同样的内容,在添加之前我们在开发团队中讨论了这个问题。它在我们的Play商店alpha通道中,迄今为止Google一直没有拉动该应用的迹象。如果我们的应用程序被从商店中取出,我肯定会报告回来。 –

+0

非常感谢你。 – himCream