Android権限申請、互換処理

2415 ワード

            if (Build.VERSION.SDK_INT >= 23) {
                int permissionC = PermissionChecker.checkSelfPermission(this,
                        android.Manifest.permission.CAMERA);

                if (permissionC == PermissionChecker.PERMISSION_GRANTED) {
                    toCamara();
                } else if (permissionC == PermissionChecker.PERMISSION_DENIED) {
                    int checkCallPhonePermission = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
                    if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {
                        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, REQUEST_CODE_ASK_CAMERA);
                    }
                } else {
                    showLackCameraPermission();
                }

            } else {
                toCamara();
            }
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                           @NonNull int[] grantResults) {
        switch (requestCode) {
            case REQUEST_CODE_ASK_CAMERA:
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    toCamara();
                } else {
                    Toast.makeText(this, "        ", Toast.LENGTH_SHORT).show();
                    JumpPermissionUtil.goToSetting(AlbumIndexActivity.this);
                    setResult(Activity.RESULT_CANCELED);
                    finish();
                }
                break;
            default:
                super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }


    }
    /**
     *          
     */
    public void showLackAlbumPermission() {
        BwtAlertDialog.Builder builder = new BwtAlertDialog.Builder(this)
                .setMessage("        ,       ")
                .setButtons(new CharSequence[]{"  "}, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        JumpPermissionUtil.goToSetting(AlbumIndexActivity.this);
                        AlbumIndexActivity.this.finish();
                    }
                });
        builder.create().show();

    }