文档 - https://developer.android.com/training/camera/photobasics
我已按照所有必需的步骤使用相机捕获图像。
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) { // its always null
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
takePictureIntent.resolveActivity(getPackageManager())
- 此行始终返回 null。如果我跳过此检查,则相机会打开但应用程序崩溃。
最佳答案
Jaakko 的回答是正确的,这里有一个简单的解释:
<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
关于java - Android 11 使用相机拍摄图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63950633/