Android运行的时候请求权限

今天在做demo的时候发现在清单文件里面给了这个权限,但是在6.0的模拟器上面一运行就报错误

error: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxx cmp=com.android.server.telecom/.components.UserCallActivity } from ProcessRecord{cbbd7c1 5228:com.dialerTest.DialerApp/u0a96} (pid=5228, uid=10096) with revoked permission android.permission.CALL_PHONE
后来找到了这个链接 https://developer.android.com/training/permissions/requesting.html,看了一下,原来6.0有了动态权限,就是你在哪个页面需要这个权限只需要直接去请求就行了,而且还有了相应的监听的方法供你来判断。

 //动态的请求权限
        ActivityCompat.requestPermissions(XUtils3TestActivity.this, new String[]{
                Manifest.permission.CALL_PHONE
        }, 0x11);
Handle the permissions request response:

 @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 0x11) {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Log.i("CMCC", "权限被允许");
            } else {
                Log.i("CMCC", "权限被拒绝");
            }
        }
    }

运行结果:

Android运行的时候请求权限_第1张图片

05-05 22:10:03.905 27069-27069/com.example.wulsh.myapplication I/CMCC: 权限被允许

你可能感兴趣的:(Android)