1. 程式人生 > >android M 及以上版本將應用新增至忽略電池優化

android M 及以上版本將應用新增至忽略電池優化

 /**
     * 忽略電池優化
     */
    private void ignoreBatteryOptimization(Activity activity) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){

            PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);

            boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(activity.getPackageName());
            //  判斷當前APP是否有加入電池優化的白名單,如果沒有,彈出加入電池優化的白名單的設定對話方塊。
            if (!hasIgnored) {
                Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
                intent.setData(Uri.parse("package:" + activity.getPackageName()));
                startActivity(intent);
            }
        }
    }

在配置檔案AndroidManifest.xml新增許可權:

<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

彈出的確認框點選確認,即可申請加入優化白名單