【发布时间】:2016-06-03 17:50:49
【问题描述】:
使用这个piece of code is suggested 并声明
注意 startActivityForResult() 方法受保护 调用 resolveActivity() 的条件,它返回第一个 可以处理意图的活动组件。 执行此检查 很重要,因为如果您使用 任何应用都无法处理的意图,您的应用就会崩溃。因此,只要 结果不为空,使用意图是安全的。
代码:
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
它工作正常,但不能在运行 4.2.2 的阿尔卡特设备上运行。我的吐司收到ELSE 消息“无法使用相机...”
如果设备有摄像头,这怎么可能?
我现在该怎么办?如何处理这个用例 - 显然我必须依靠一些带摄像头的设备会报告“无法使用摄像头”,检测到这些设备有摄像头然后使用它?!
文档或 SO 问题没有说明 ELSE 案例。
【问题讨论】:
标签: android android-camera android-camera-intent