Android 11相机问题

2022-01-11  本文已影响0人  人世看客

1.打开相机判断问题

    Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    //判断相机是否正常。
    if (captureIntent .resolveActivity(context.getPackageManager()) != null) {
        ....
    }

在Android 11中此方法会一直null,解决此问题有两种
一、在清单文件中添加queries标签。Tip:启动第三方的app也是通过这种方式。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lib.image">
    <!-- 判断相机是否 可以使用 如果不加以下配置 那么captureIntent.resolveActivity(context.getPackageManager())==null -->
    <queries>
        <intent>
            <action android:name="android.media.action.IMAGE_CAPTURE"/>
        </intent>

        <intent>
            <action android:name="android.media.action.VIDEO_CAPTURE"/>
        </intent>
    </queries>    
</manifest>

二、使用hasSystemFeature方法进行判断相机是否可用。

if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
    //相机可用
}
上一篇 下一篇

猜你喜欢

热点阅读