android 6.0动态申请权限

1 比如动态申请打开相机的权限,先Android版本和该权限师傅需要动态申请。

 if (Build.VERSION.SDK_INT >= 23) {
            if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, PERMISSION_TO_CAMERA);
            } else {
                openCamera();
            }
        } else {
            openCamera();
        }
 }

2 重写onReqeusetPermissionResult检查申请结果。

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

        switch (requestCode) {
            case PERMISSION_TO_CAMERA:
                if (grantResults != null && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    openCamera();
                } else {
                    showToast(R.string.permission_camera_deny,Toast.LENGTH_SHORT);
                    getActivity().finish();
                }
                break;

        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章