现在Android手机权限越来越严了,需要用户主动申请权限。

Android 用户主动申请权限如下代码:

1、请求权限

private void requestPermission() {

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
if (ContextCompat.checkSelfPermission(GarbargeCleanActivity.this,Manifest.permission.DELETE_CACHE_FILES)!= PackageManager.PERMISSION_GRANTED){
//没有权限则申请权限
ActivityCompat.requestPermissions(GarbargeCleanActivity.this,new String[]{Manifest.permission.DELETE_CACHE_FILES},REQUEST_CODE);

}else {
//有权限直接执行,docode()不用做处理
clearAllCache();
}

}else {
//小于6.0,不用申请权限,直接执行
clearAllCache();
}
}


2、在Activity中添加  onRequestPermissionsResult 方法 ,如下:

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_CODE){
if (permissions[0].equals(Manifest.permission.DELETE_CACHE_FILES)
&&grantResults[0] == PackageManager.PERMISSION_GRANTED){
//用户同意使用write
clearAllCache();
}else{
//用户不同意,自行处理即可
//

}
}
}
private static final int REQUEST_CODE = 1;


3、AndroidManifest.xml 文件中添加对应权限

<uses-permission
android:name="android.permission.DELETE_CACHE_FILES"
tools:ignore="ProtectedPermissions" />