现在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" />