onRequestPermissionsResult для REQUEST_IGNORE_BATTERY_OPTIMIZATIONS - PullRequest
0 голосов
/ 21 января 2020

В моем приложении, если пользователь хочет проверить, нажата ли батарея да или нет на экране, который появляется для оптимизации. Как я могу это сделать?

    private int BATTERY_PERMISSION = 1;

    @SuppressLint("BatteryLife")
    @RequiresApi(api = Build.VERSION_CODES.M)
    private void requestBattery() {
        Intent intent = new Intent();
        String packageName = context.getPackageName();
        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        if (!(Objects.requireNonNull(pm).isIgnoringBatteryOptimizations(packageName))) {
            intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + packageName));
            startActivityForResult(intent, BATTERY_PERMISSION);
        }
    }
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == BATTERY_PERMISSION) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            Toast.makeText(context, "DONE", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(context, "NO", Toast.LENGTH_SHORT).show();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...