【Android 】android13 新权限获取 读写文件权限

时间:2025-01-25 07:42:52
/** * 权限检查 * @param context * @return */ private boolean hasStoragePermissions(Context context) { //版本判断,如果比android 13 就走正常的权限获取 if(android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){ int readPermission = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE); int writePermission = ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE); return readPermission == PackageManager.PERMISSION_GRANTED && writePermission == PackageManager.PERMISSION_GRANTED; }else{ int audioPermission = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_MEDIA_AUDIO); int imagePermission = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_MEDIA_IMAGES); int videoPermission = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_MEDIA_VIDEO); return audioPermission == PackageManager.PERMISSION_GRANTED && imagePermission == PackageManager.PERMISSION_GRANTED && videoPermission == PackageManager.PERMISSION_GRANTED; } } private void requestStoragePermissions(Context context) { String [] permissions; if(android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){ permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}; }else{ permissions = new String[]{Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.READ_MEDIA_IMAGES,Manifest.permission.READ_MEDIA_VIDEO}; } ActivityCompat.requestPermissions((Activity) context, permissions, STORAGE_PERMISSION_REQUEST_CODE); }