Android 11 拍照选择相册适配

Android 11 拍照选择相册适配,第1张

Android 11 拍照选择相册适配 拍照
Intent takeIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

String timeStamp = new SimpleDateFormat("yyyyMMddmmss").format(new Date());
String imgFileName = "IMG_" + timeStamp;

//核心 不可使用 Environment.getExternalStorageDirectory()
String path = context.getExternalCacheDir().getAbsolutePath() + File.separator + "images" + File.separator+ "photos";

File file = new File(path);
if (!file.exists()) {
   file.mkdirs();
}

File cameraFile = new File(file.getPath(),imgFileName)

Uri fileUri;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
    fileUri = Uri.fromFile(cameraFile);
} else {
   fileUri = FileProvider.getUriForFile(context,
   context.getPackageName() + ".update.provider", cameraFile);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//添加这一句表示对目标应用临时授权该Uri所代表的文件
    takeIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}

takeIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
mContext.startActivityForResult(takeIntent, 100);
相册
Intent intentPhoto = new Intent(Intent.ACTION_PICK);
intentPhoto.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
mContext.startActivityForResult(intentPhoto, 100);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存