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;

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