Java Code Examples for android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

The following examples show how to use android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: a   File: SystemUtil.java    License: GNU General Public License v3.0 6 votes vote down vote up
public static void ignoreBatteryOptimization(Activity activity) {
    if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.M) return;

    PowerManager powerManager = (PowerManager) activity.getSystemService(POWER_SERVICE);
    boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(activity.getPackageName());
    //  判断当前APP是否有加入电池优化的白名单,如果没有,弹出加入电池优化的白名单的设置对话框。
    if (!hasIgnored) {
        try {
            @SuppressLint("BatteryLife")
            Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + activity.getPackageName()));
            activity.startActivity(intent);
        } catch (Throwable ignored) {
        }
    }
}
 
Example 2
public static void ignoreBatteryOptimization(Activity activity) {
    if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.M) return;

    PowerManager powerManager = (PowerManager) activity.getSystemService(POWER_SERVICE);
    boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(activity.getPackageName());
    //  判断当前APP是否有加入电池优化的白名单,如果没有,弹出加入电池优化的白名单的设置对话框。
    if (!hasIgnored) {
        try {
            @SuppressLint("BatteryLife")
            Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + activity.getPackageName()));
            activity.startActivity(intent);
        } catch (Throwable ignored) {
        }
    }
}
 
Example 3
@Override
public void onClick(View v) {
    if (v == proceed) {
        if (agree.isChecked()) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                viewPager.setCurrentItem(1);
                PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
                if (!powerManager.isIgnoringBatteryOptimizations(getPackageName())) {
                    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
                    intent.setData(Uri.parse("package:" + getPackageName()));
                    startActivity(intent);
                } else {
                    viewPager.setCurrentItem(2);
                    startBluetoothScan();
                }
            } else {
                viewPager.setCurrentItem(2);
                startBluetoothScan();
            }
        } else Toast.makeText(this, R.string.accept_terms, Toast.LENGTH_SHORT).show();
    } else if (v == closeWizard) {
        startActivity(new Intent(this, StatusActivity.class));
        finish();
    }
}
 
Example 4
/**
 * Request ignore battery optimization
 */
@RequiresApi(api = Build.VERSION_CODES.M)
@SuppressLint("BatteryLife")
public static void requestIgnoreBatteryOptimization(Context context) {
    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    intent.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID));
    context.startActivity(intent);
}
 
Example 5
/**
 * Request ignore battery optimization
 */
@RequiresApi(api = Build.VERSION_CODES.M)
@SuppressLint("BatteryLife")
public static void requestIgnoreBatteryOptimization(Context context) {
    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    intent.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID));
    context.startActivity(intent);
}
 
Example 6
@Override
public void onClick(View v) {
    if(v.getTag() instanceof Integer){
        int settingID = (int)v.getTag();
        switch (settingID){
            case SETTING_APPS_UNDER_CTRL:{
                MsgDispatcher.get().dispatchSync(Messege.PUSH_WINDOW,
                        TrafficCtrlWindow.createWindow(getContext(), VpnConfig.CTRL_BITS.BASE));
                break;
            }
            case SETTING_DNS_SERVER:{
                showDnsConfigDialog();
                break;
            }
            case SETTING_PROXY_ADDR:{
                showProxyConfigDialog();
                break;
            }
            case SETTING_CRASH_RECORDS:{
                MsgDispatcher.get().dispatchSync(Messege.PUSH_WINDOW, new CrashRecordWindow(ContextMgr.getContext()));
                break;
            }case SETTING_ABOUT:{
                Toast.makeText(getContext(), ResTools.getString(R.string.app_name) + " " + SystemUtils.getLocalVersionName(getContext())
                        , Toast.LENGTH_SHORT).show();
                break;
            }case SETTING_ENHANCE_BACKGROUN_RUNNING:{
                final Intent doze = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
                doze.setData(Uri.parse("package:" + getContext().getPackageName()));
                if(getContext().getPackageManager().resolveActivity(doze, 0) != null){
                    getContext().startActivity(doze);
                }else{
                    Toast.makeText(getContext(), R.string.tips_devices_not_available, Toast.LENGTH_SHORT).show();
                }
                break;
            }
        }
    }
}
 
Example 7
@RequiresApi(api = Build.VERSION_CODES.M)
@SuppressLint("BatteryLife")
public static void startBatteryOptimizationActivity(GeoActivity activity) {
    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    intent.setData(Uri.parse("package:" + activity.getPackageName()));
    if (isIntentAvailable(activity, intent)) {
        activity.startActivity(intent);
    } else {
        SnackbarUtils.showSnackbar(activity, "Unavailable battery optimization activity.");
    }
}
 
Example 8
@Override
public void onClick(View v) {
    if (SDK_INT < 23) return;
    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    intent.setData(Uri.parse("package:" + v.getContext().getPackageName()));
    v.getContext().startActivity(intent);
}
 
Example 9
@Override
public void tryResolve(Fragment fragment) {
    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    intent.setData(Uri.parse("package:" + fragment.getActivity().getPackageName()));
    fragment.startActivityForResult(intent, REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
}
 
Example 10
Source Project: DeviceConnect-Android   File: DConnectUtil.java    License: MIT License 3 votes vote down vote up
/**
 * Dozeモードの解除要求を行う.
 * <p>
 * Dozeモードの解除には必ずユーザの許諾が必要になります。<br>
 * Android M 以前の OS の場合には、このメソッドは処理を行いません。
 * </p>
 *
 * @param context コンテキスト
 */
public static void startConfirmIgnoreDozeMode(final Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
        intent.setData(Uri.parse("package:" + context.getPackageName()));
        context.startActivity(intent);
    }
}