android 请求权限

    1. /**
    2. * 请求读写权限
    3. */
    4. private void checkReadPermission() {
    5. if (ContextCompat.checkSelfPermission(mContext,
    6. Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
    7. //TODO 此处写第一次检查权限且已经拥有权限后的业务
    8. } else {
    9. if (ActivityCompat.shouldShowRequestPermissionRationale( this, Manifest.permission.READ_EXTERNAL_STORAGE){
    10. ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
    11. REQUEST_STORAGE_PERMISSION);
    12. } else {
    13. Log.e(TAG, "requestPermissions");
    14. ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
    15. REQUEST_STORAGE_PERMISSION);
    16. }
    17. }
    18. }


    1. /**
    2. * 检查权限后的回调
    3. *
    4. * @param requestCode
    5. * @param permissions
    6. * @param grantResults
    7. */
    8. @Override
    9. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    10. switch (requestCode) {
    11. case REQUEST_STORAGE_PERMISSION:
    12. if (permissions.length != 0 && grantResults[ 0] != PackageManager.PERMISSION_GRANTED) {
    13. Toast.makeText( this, "打开相册失败,请允许存储权限后再试", Toast.LENGTH_SHORT).show();
    14. } else {
    15. //TODO 请求权限弹窗 允许后回调返回的成功回调 在此写业务逻辑
    16. }
    17. break;
    18. }
    19. }


猜你喜欢

转载自blog.csdn.net/qq_42177292/article/details/80906685
今日推荐