【发布时间】:2016-04-11 15:26:48
【问题描述】:
在 Android 中,可以使用 here 所示的基本设置来拍照。
protected void dispatchTakePictureIntent(){
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
...
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
//do stuff with the output file
}
}
但是,third-party camera apps are unpredictable and cannot be guaranteed to play nice。
验证输出/捕获任何错误的正确方法是什么?我应该将 startActivityForResult 包装在 try/catch 块内吗?我应该尝试捕获哪些不同类型的异常?我应该如何处理它们?
【问题讨论】:
标签: java android android-intent error-handling android-camera