我正在使用这段非常简单的代码在 Android 设备上捕获图像。
File tmpFile = ...;
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tmpFile));
startActivityForResult(intent, CAPTURE_IMAGE);
这适用于成千上万的用户,除了一个在没有摄像头的 Kindle 设备上运行它的用户。今天我收到了一个带有摄像头的设备的崩溃报告:
ANDROID_VERSION=4.2.1
BRAND=Hisense
PHONE_MODEL=M470BSA
STACK_TRACE=android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.media.action.IMAGE_CAPTURE (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
at android.app.Activity.startActivityForResult(Activity.java:3370)
at android.app.Activity.startActivityForResult(Activity.java:3331)
...
我在代码周围进行了一些异常处理以捕获异常并显示错误,但我不知道为什么这段代码在此设备上失败。用户确认相机工作正常。