Android 6.0 申请权限Permission Denial: reading com.android.providers.media.MediaProvider

来源:互联网 发布:阿里云备案多长时间 编辑:程序博客网 时间:2024/06/05 06:43

解决办法:
1:在oncreate方法中,在setcontentview()下面加上下面代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {            int hasCallPhonePermission = checkSelfPermission(Manifest.permission.CALL_PHONE);            List<String> permissions = new ArrayList<String>();            if (hasCallPhonePermission != PackageManager.PERMISSION_GRANTED) {                permissions.add(Manifest.permission.CALL_PHONE);            } else {                AbSharedUtil.putString(this, "storage", "true");            }            if (!permissions.isEmpty()) {                requestPermissions(permissions.toArray(new String[permissions.size()]), REQUEST_CODE_SOME_FEATURES_PERMISSIONS);            }        }else {//小于6.0            AbSharedUtil.putString(this,"storage", "true");        }

2:在oncreate之外加入下面代码

  public static int  REQUEST_CODE_SOME_FEATURES_PERMISSIONS=1;    @Override    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {        switch (requestCode) {            case REQUEST_CODE_SOME_FEATURES_PERMISSIONS: {                for (int i = 0; i < permissions.length; i++) {                    if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {                        Log.e("TTT","Permissions --> " + "Permission Granted: " + permissions[i]);                    } else if (grantResults[i] == PackageManager.PERMISSION_DENIED) {                        Log.e("TTT","Permissions --> " + "Permission Denied: " + permissions[i]);                    }                }            }            break;            default: {                super.onRequestPermissionsResult(requestCode, permissions, grantResults);            }        }    }

效果图:
android6.0调用电话权限截图
摘自:http://stackoverflow.com/questions/36690104/permission-denial-reading-com-android-providers-media-mediaprovider-uri-content

0 2
原创粉丝点击