从相机拍摄照片在 Android 11 中不起作用

问题描述

我使用设备的认相机在我的应用中拍摄照片。当我使用 android 10 及以下版本时,一切正常。但是当我在 android 11 中使用相机时,就无法在应用程序中使用了。你能帮我解决这个问题吗。

解决方法

自 API 级别 30 起,包可见性发生了变化。 https://developer.android.com/about/versions/11/privacy/package-visibility

为了让您的包管理器正常工作,您需要在 <queries> 中声明 AndroidManifest.xml

代码:

<manifest package="your.package.name">
<queries>
    <intent>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
    </intent>
</queries>
</manifest>

这仅适用于默认的相机应用。如果您的应用使用了某些 3rd 方相机,您可以在此处找到一些信息:https://commonsware.com/blog/2020/08/16/action-image-capture-android-r.html