Android 动态获取权限

在Android6.0设备上 ,遇到一些须要权限的操做,须要在程序中动态的去检查响应的权限是否被许可。ide

不然可能出现程序意外中止等问题。this

 

int checkCallPhonePermission = ContextCompat.checkSelfPermission(mContext,Manifest.permission.CALL_PHONE);code

            if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){it

     ActivityCompat.requestPermissions(mContext,new String[]{Manifest.permission.CALL_PHONE},REQUEST_CODE_ASK_CALL_PHONE);return;io

            }else{ast

                //上面已经写好的拨号方法mobile

                callDirectly(mobile);权限

            }request

 

 

经过覆盖方法实现回调监听程序

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

        switch (requestCode) {

        case REQUEST_CODE_ASK_CALL_PHONE:

        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

        // Permission Granted

        callDirectly(mobile);

        else {// Permission Denied

        Toast.makeText(MainActivity.this"CALL_PHONE Denied", Toast.LENGTH_SHORT)

                            .show();

                }

                break;

            default:

                super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        }

    }

相关文章
相关标签/搜索