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