Java Code Examples for android.provider.Settings#ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS

The following examples show how to use android.provider.Settings#ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS . 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
@Override
public void onResume() {
    super.onResume();

    // Doze
    Boolean ignoring = true;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
        PackageManager pm = getContext().getPackageManager();
        if (intent.resolveActivity(pm) != null) { // system whitelisted
            ignoring = Helper.isIgnoringOptimizations(getContext());
            if (ignoring == null)
                ignoring = true;
        }
    }

    btnDoze.setEnabled(!ignoring);

    // https://issuetracker.google.com/issues/37070074
    //ignoring = (ignoring || Build.VERSION.SDK_INT != Build.VERSION_CODES.M);

    tvDozeDone.setText(ignoring ? R.string.title_setup_done : R.string.title_setup_to_do);
    tvDozeDone.setTextColor(ignoring ? textColorPrimary : colorWarning);
    tvDozeDone.setCompoundDrawablesWithIntrinsicBounds(ignoring ? check : null, null, null, null);

    // https://developer.android.com/training/basics/network-ops/data-saver.html
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        if (cm != null) {
            int status = cm.getRestrictBackgroundStatus();
            grpDataSaver.setVisibility(
                    status == ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED
                            ? View.VISIBLE : View.GONE);
        }
    }
}
 
Example 2
@TargetApi(Build.VERSION_CODES.M)
private void startBatteryOptimizationsSystemActivity() {
    try {
        Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
        startActivityForResult(intent, BATTERY_OPTIMIZATIONS_ACTIVITY_RESULT);
    } catch (ActivityNotFoundException ex) {
        Timber.w(ex, "startBatteryOptimizationsSystemActivity(): Could not open Settings to change battery optimizations");
        MyApplication.handleSilentException(ex);
        showCannotOpenAndroidSettingsDialog();
    }
}
 
Example 3
/**
 * Go to ignore battery optimization settings.
 */
@RequiresApi(api = Build.VERSION_CODES.M)
public static void gotoIgnoreBatteryOptimizationSettings(Context context) {
    Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
    context.startActivity(intent);
}
 
Example 4
/**
 * Go to ignore battery optimization settings.
 */
@RequiresApi(api = Build.VERSION_CODES.M)
public static void gotoIgnoreBatteryOptimizationSettings(Context context) {
    Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
    context.startActivity(intent);
}
 
Example 5
static private void showNotification(Context context, String title, String text) {
    String nTitle = title;
    String nText = text;
    if (Build.VERSION.SDK_INT < 24) {
        nTitle = context.getString(R.string.ppp_app_name);
        nText = title+": "+text;
    }
    PPApplication.createExclamationNotificationChannel(context);
    NotificationCompat.Builder mBuilder =   new NotificationCompat.Builder(context, PPApplication.EXCLAMATION_NOTIFICATION_CHANNEL)
            .setColor(ContextCompat.getColor(context, R.color.notificationDecorationColor))
            .setSmallIcon(R.drawable.ic_exclamation_notify) // notification icon
            .setContentTitle(nTitle) // title for notification
            .setContentText(nText) // message for notification
            .setAutoCancel(true); // clear notification after click
    mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(nText));
    Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent pi = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    mBuilder.setContentIntent(pi);
    mBuilder.setPriority(NotificationCompat.PRIORITY_MAX);
    //if (android.os.Build.VERSION.SDK_INT >= 21)
    //{
        mBuilder.setCategory(NotificationCompat.CATEGORY_RECOMMENDATION);
        mBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
    //}
    mBuilder.setOnlyAlertOnce(true);

    /*
    Intent disableIntent = new Intent(IGNORE_BATTERY_OPTIMIZATION_NOTIFICATION_DISABLE_ACTION);
    PendingIntent pDisableIntent = PendingIntent.getBroadcast(context, 0, disableIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    NotificationCompat.Action.Builder actionBuilder = new NotificationCompat.Action.Builder(
            R.drawable.ic_action_exit_app_white,
            context.getString(R.string.ignore_battery_optimization_notification_disable_button),
            pDisableIntent);
    mBuilder.addAction(actionBuilder.build());
    */

    NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(context);
    try {
        mNotificationManager.notify(
                PPApplication.IGNORE_BATTERY_OPTIMIZATION_NOTIFICATION_TAG,
                PPApplication.IGNORE_BATTERY_OPTIMIZATION_NOTIFICATION_ID, mBuilder.build());
    } catch (Exception e) {
        //Log.e("IgnoreBatteryOptimizationNotification.showNotification", Log.getStackTraceString(e));
        PPApplication.recordException(e);
    }
}
 
Example 6
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 startDozeModeSettingActivity(final Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
}