1、使用场景:App调用系统相机拍照设置图片。
2、问题描述: targetSdkVersion >= android 11的之后,以下代码captureIntent.resolveActivity(context.getPackageManager())直接返回了null。
// 拉起系统相机
Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
//判断相机是否正常
if (captureIntent.resolveActivity(context.getPackageManager()) != null) {
....
}
3、系统环境: Android 11,targetSdkVersion == 33
4、解决方案:
(1)调用系统应用时:
方案1:在清单文件中添加queries标签。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.demo">
<!-- 判断相机是否可用 -->
<queries>
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE"/>
</intent>
<intent>
<action android:name="android.media.action.VIDEO_CAPTURE"/>
</intent>
</queries>
</manifest>
方案2:使用hasSystemFeature方法进行判断相机是否可用。
if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
//相机可用
}
(2)打开其他第三方app,比如:
<!--Android 11 版本为加强用户隐私保护引入较多变更-->
<queries>
<!-- 微信支付SDK-->
<package android:name="com.tencent.mm" />
<!-- 支付宝支付SDK-->
<package android:name="com.eg.android.AlipayGphone" />
<package android:name="hk.alipay.wallet" />
<!--百度地图app-->
<package android:name="com.baidu.BaiduMap" />
<!--高德地图app-->
<package android:name="com.autonavi.minimap" />
<!--腾讯地图app-->
<package android:name="com.tencent.map" />
<!--淘宝-->
<package android:name="com.taobao.taobao" />
<!--天猫-->
<package android:name="com.tmall.wireless" />
<!--微博-->
<package android:name="com.sina.weibo"/>
<!--脸书-->
<package android:name="com.facebook.katana"/>
<!--WhatsApp-->
<package android:name="com.whatsapp"/>
</queries>
(3)检查浏览器是否可用
<!-- Place inside the <queries> element. -->
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
(4)打开文件
<!-- Place inside the <queries> element. -->
<intent>
<action android:name="android.intent.action.VIEW" />
<!-- If you don't know the MIME type in advance, set "mimeType" to "*/*". -->
<data android:mimeType="application/pdf" />
</intent>
详细变更,可参考官方文档:
https://developer.android.google.cn/training/package-visibility/use-cases.html?hl=de
阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/archives/21879,转载请注明出处。
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/archives/21879,转载请注明出处。
评论0