tow*_*hid 5 java camera android image capture
文档 - 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);
}
}
Run Code Online (Sandbox Code Playgroud)
takePictureIntent.resolveActivity(getPackageManager())- 此行始终返回 null。如果我跳过此检查,相机会打开但应用程序崩溃。
Pav*_*e37 13
Jaakko 的回答是正确的,这里是一个快速解释:
从 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>
Run Code Online (Sandbox Code Playgroud)
这仅适用于默认相机应用程序。如果您的应用使用了某些 3rd 方相机,您可以在此处找到一些信息:https : //commonsware.com/blog/2020/08/16/action-image-capture-android-r.html
小智 5
将这些添加到清单部分内的 AndroidManifest.xml 中:
<queries>
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
</queries>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6343 次 |
| 最近记录: |