В моем приложении, если пользователь хочет проверить, нажата ли батарея да или нет на экране, который появляется для оптимизации. Как я могу это сделать?
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();
}
}
}