设备:模拟器像素 3a - Android 11
代码:
final List<Intent> cameraIntents = new ArrayList<Intent>();
final Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
final List<ResolveInfo> listCam =
context.getPackageManager().queryIntentActivities(captureIntent, 0);
Run Code Online (Sandbox Code Playgroud)
使用时:
targetSdkVersion 30
compileSdkVersion 30
Run Code Online (Sandbox Code Playgroud)
listCam 大小为 0
当更改为:
compileSdkVersion 29
Run Code Online (Sandbox Code Playgroud)
listCam 大小为 1 - 应该如此。
使用以下代码:
val captureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
baseActivity.startActivity(captureIntent)
Run Code Online (Sandbox Code Playgroud)
工作正常并显示相机应用程序。
知道为什么 queryIntentActivities 不返回相机意图吗?
谢谢!
android android-intent android-camera android-camera-intent android-intent-chooser
我正在使用图像选择器来捕获图像,并使用 SDK 30 在模拟器上进行测试。我总是抛出异常,没有可用的相机,并且在真实设备中完美工作。
清单文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.abc">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA" />
</manifest>
Run Code Online (Sandbox Code Playgroud)