安装6.0之后,防止应用进入DOZE状态,导致无法后台请求服务器,或者其他请求。

安装6.0之后,防止应用进入DOZE状态,导致无法后台请求服务器,或者其他请求。

本人使用的是手机型号: NONKA 509;
ROOT: 是
Android studio 版本: 4.3

使用cmd命令查询白名单

确保连接成功手机,adb不被系统干掉(我曾经遇到过,一插上手机adb就报错,崩溃)
方法一:adb shell dumpsys deviceidle;(查看)
在这里插入图片描述
方法二:adb shell dumpsys window | findstr mCurrentFocus(这个是按照百度别的方法,也不知道有没有用,本人也比较菜)
在这里插入图片描述

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

安卓使用java代码添加应用白名单(直接复制粘贴就行)

注:他这个白名单权限不属于危险权限,所以不需要动态添加权限,值需要在AndroidManifest.xml

第一步:判断当前应用是否添加了白名单(6.0之后的手机才有该功能)
/**
* 判断当前是否已经添加白名单
* @return
* true 就是已经添加了白名单
* flase 就是未添加了白名单
*/
private boolean isIgnoringBatteryOptimizations() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
String packageName = getPackageName();
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
return pm.isIgnoringBatteryOptimizations(packageName);
}
return false;

}
第二步:添加白名单(百度添加Android 白名单很多的连接,我这个也是百度的)

private final static int REQUEST_IGNORE_BATTERY_CODE = 1001;
/**
* 判断当前手机系统版本6.0之前没有添加该功能
*/
private void gotoSettingIgnoringBatteryOptimizations() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
try {
Intent intent = new Intent();
String packageName = getPackageName();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse(“package:” + packageName));
startActivityForResult(intent, REQUEST_IGNORE_BATTERY_CODE);
} catch (Exception e) {
e.printStackTrace();
}
}
}

第三步:通过系统自带的回调方法onActivityResult判断结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_IGNORE_BATTERY_CODE) {
Log.e(“Hello World!”, “jiewen_开启省电模式成功”);
}
} else if (resultCode == RESULT_CANCELED) {
if (requestCode == REQUEST_IGNORE_BATTERY_CODE) {
Log.e("",“jiewen_请用户开启忽略电池优化~”);
}
}
}

第四步:在AndroidManifest.xml中添加请求的权限。


导入

cmd命令:https://blog.csdn.net/wl724120268/article/details/79802945(但是查询的不全,建议百度“Android idle adb”关键字查询)
应用代码添加应用白名单:https://blog.csdn.net/clingtom/article/details/70142401
这是我的第一篇csnd文章,没有自己的东西,都是别人的,只是现在公司接触的东西都不会,所以自己写下来,有个印象,从头再来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值