我需要单击Android设备上的默认相机应用程序的图像,并获取刚刚单击的图像的路径。我已经采取的帮助这个帖子获取Android Camera单击图像的路径
我的代码如下
public void MarkIn(View view) {
String fileName = "temp.jpg";
final int CAPTURE_PICTURE_INTENT = 1;
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intent, CAPTURE_PICTURE_INTENT);
String imagePath = capturedImageFilePath;
// .....some code.....
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = null;
cursor = getApplicationContext().getContentResolver().query(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
capturedImageFilePath = cursor.getString(column_index_data);
}
}
系统未等待活动得到完成。正如我的...一些代码...在上面的代码片段是取决于文件路径,我得到空指针异常。
如何使代码执行等待直到活动完成。
Hi @Barun。我已经使用你的代码来获取图像uri,并将....一些代码...带到活动结果方法中,而不是在相机意图调用后立即调用。现在工作了,谢谢。 – 2015-03-19 13:48:15