Android11+(API版本30+)中相机意图工作不正确。
创始人
2024-08-20 09:30:27
0

在Android 11及更高版本中,Google已经对相机权限进行了更严格的限制。因此,您需要提供许多新的权限并遵循新的安全机制,以便应用程序可以访问设备上的Camera API。

以下是可以解决Camera Intent在API 30+上工作不正确的代码示例:

  1. 首先,在AndroidManifest.xml文件中将此标记更改为:

  1. 您需要使用以下代码来通过Intent启动相机:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(i, CAPTURE_IMAGE_REQUEST); } else { requestPermissions(new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION); } } else { Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(i, CAPTURE_IMAGE_REQUEST); }

  1. 在onActivityResult()方法中,您需要添加以下代码:

Bitmap bitmap = null;

if (requestCode == CAPTURE_IMAGE_REQUEST && resultCode == RESULT_OK) { Uri photoUri = data.getData(); if (photoUri != null) { try { bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), photoUri); } catch (IOException e) { e.printStackTrace(); } } else { Bundle extras = data.getExtras(); if (extras != null) { bitmap = (Bitmap) extras.get("data"); } } } //如果拍照成功就设置ImageView显示相机拍摄的图片 if (bitmap != null) { imgView.setImageBitmap(bitmap); }

通过遵循这些步

相关内容

热门资讯

透视免费!aapoker万能辅... 透视免费!aapoker万能辅助器(透视)脚本(一贯存在有挂)一、aapoker万能辅助器AI软件牌...
透视苹果版!aa poker辅... 透视苹果版!aa poker辅助(透视)插件下载(都是真的是有挂)1、aa poker辅助ai辅助优...
透视辅助!aapoker脚本怎... 透视辅助!aapoker脚本怎么用(透视)透视方法(真是是有挂)所有人都在同一条线上,像星星一样排成...
透视线上!aa poker透视... 透视线上!aa poker透视软件(透视)插件(一贯是有挂);1、金币登录送、破产送、升级送、活动送...
透视教学!aapoker辅助器... 透视教学!aapoker辅助器怎么用(透视)插件下载(其实存在有挂)aapoker辅助器怎么用辅助器...
透视存在!aapoker脚本怎... 透视存在!aapoker脚本怎么用(透视)插件下载(切实真的有挂)1、aapoker脚本怎么用机器人...
透视挂透视!aapoker插件... 透视挂透视!aapoker插件下载(透视)透视脚本入口(切实有挂)1、aapoker插件下载ai机器...
透视有挂!aapoker脚本怎... 透视有挂!aapoker脚本怎么用(透视)透视脚本入口(都是有挂);1、游戏颠覆性的策略玩法,独创攻...
透视科技!aapoker辅助工... 透视科技!aapoker辅助工具安全吗(透视)免费透视脚本(确实真的有挂)运aapoker辅助工具安...
透视神器!aapoker辅助器... 透视神器!aapoker辅助器怎么用(透视)ai插件(竟然真的是有挂);1、这是跨平台的aapoke...