android休眠运行
16lz
2021-12-04
权限
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
在onCreate
//保活 boolean ignoringBatteryOptimizations = isIgnoringBatteryOptimizations(); if (ignoringBatteryOptimizations){ Toast.makeText(this, "本应用在白名单", Toast.LENGTH_SHORT).show(); }else { requestIgnoreBatteryOptimizations(); }
方法
/** * 判断是否在白名单中 * @return */ @RequiresApi(api = Build.VERSION_CODES.M) private boolean isIgnoringBatteryOptimizations() { boolean isIgnoring = false; PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); if(powerManager != null) { isIgnoring = powerManager.isIgnoringBatteryOptimizations(getPackageName()); } return isIgnoring; } /** * 申请成为白名单 */ @RequiresApi(api = Build.VERSION_CODES.M) public void requestIgnoreBatteryOptimizations() { try{ Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:"+ getPackageName())); startActivity(intent); } catch(Exception e) { e.printStackTrace(); } }
请求结果
/** * 保活 */ boolean ignoringBatteryOptimizations = isIgnoringBatteryOptimizations(); if (ignoringBatteryOptimizations){ Toast.makeText(this, "OK", Toast.LENGTH_SHORT).show(); }else { Toast.makeText(this, "failure", Toast.LENGTH_SHORT).show(); }
更多相关文章
- Android(安卓)代码实现关机重启
- android中广播接收者BroadcastReceiver
- android实例
- Android常用权限
- Android(安卓)获取手机唯一标识(仅限IMEI)
- Android存储权限
- android 网络 post get
- Android通用框架设计与完整电商App开发
- Android常用代码之普通及系统权限静默安装APK