Android关于华为手机的权限问题

    xiaoxiao2021-03-25  81

    最近在做安卓手机上传视频和录音,用的是意图intent,选择手机相册中的视频或者照片,在 onActivityResult方法下进行返回,这是选择视频,然后再返回当前图片的第一帧作为封面,我是用华为手机做的测试,发现一直报的是权限问题,但是我清单文件中都已经配置完了,后来发现是华为手机在录音或者选择视频的时候必须再次请求权限,所以我上网找了一下请求权限的代码, private static final int REQUEST_EXTERNAL_STORAGE = 1; private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO }; public static void verifyStoragePermissions(Activity activity) { // Check if we have write permission int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { // We don't have permission so prompt the user ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); } } if (data == null) { return; } Uri uriVideo = data.getData(); ContentResolver contentVideo = this.getContentResolver(); Cursor cursorVideo = contentVideo.query(uriVideo, null, null, null, null); if (cursorVideo != null && cursorVideo.moveToNext()) { final String path = cursorVideo.getString(cursorVideo.getColumnIndex(MediaStore.Video.Media.DATA)); Log.i("MOSES", "path--->" + path);//这里能获取到视频的路径 System.out.println("VoiceAptitudeActivity当前路径是" + path); MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(path); int ringDuring = Integer.parseInt(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)) / 1000; if (ringDuring > 15) { Toast.makeText(VoiceAptitudeActivity.this, "视频要小于15秒哦~", Toast.LENGTH_SHORT).show(); } else { Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND); iv_video.setImageBitmap(bitmap); iv_pause.setVisibility(View.VISIBLE); } intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); //设置数据格式 intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "video/*"); //设置带返回值的跳转 startActivityForResult(intent, CHOOSEVIDEO_REQUEST_CODE);
    转载请注明原文地址: https://ju.6miu.com/read-8901.html

    最新回复(0)