1、使用场景: 在App中调用系统相机进行拍照并设置图片。
问题描述:在目标SDK版本大于等于Android 11的情况下,以下代码`captureIntent.resolveActivity(context.getPackageManager())`返回了null。
```java // 拉起系统相机的Intent Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); // 判断相机是否正常 if (captureIntent.resolveActivity(context.getPackageManager()) != null) { // ... } // 系统环境:Android 11,targetSdkVersion == 33 ```4、解决方案: 4、可行的解决方案:
(1)使用系统应用时: (2)调用系统应用: (3)当需要调用系统应用时: (4)在使用系统应用的情况下: (5)执行系统应用操作时:
方案1:在清单文件中添加queries标签。
如果 (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) { // 相机可用 } else { // 打开其他第三方app,比如: }Android 11 版本引入了许多变更,旨在加强用户的隐私保护。以下是一些相关的变更内容: - 微信支付SDK:`` - 支付宝支付SDK:`` - 支付宝钱包SDK:`` - 百度地图app:`` - 高德地图app:`` - 腾讯地图app请访问以下链接了解有关系统包自动可见性的更多信息:https://developer.android.com/training/basics/intents/package-visibility#system-packages-visible-automatically
版权声明:搭建盘口维护联系TG:@KT_code
还木有评论哦,快来抢沙发吧~