我如何正确地获取按钮意图拍摄照片并将该图像存储在手机图库中?到目前为止,我有一个按钮,其中包含一个案例结构:
否则if(v.getId()== R.id.button5)// camera
{
Intent c = new Intent( MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(c,1);
}
我的onActivityResult应该是什么样子,因为我只是将图像存储到图库中?
我是否必须使用bundle extras = data.getExtras();?
答案 0 :(得分:0)
This回答可能是您的问题解决方案。但是data.getExtras()在某些情况下返回null,不幸的是我还没有检测到所有这些情况。例如data.getExtras()在Android 2.3 HTC Evo 3D上运行良好,但在android 2.3三星Galaxy SII上,它返回null。希望这会有所帮助。
答案 1 :(得分:0)
首先,您必须调用startActivityForResult()方法,如下所示:
Uri imageFileUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
startActivityForResult(i, CAMERA_RESULT);
在startActivityForResult()方法的实现中,您必须编写以下内容:
// Save the name and description of an image in a ContentValues map.
ContentValues contentValues = new ContentValues(3);
contentValues.put(Media.DISPLAY_NAME, "This is a test title");
contentValues.put(Media.DESCRIPTION, "This is a test description");
contentValues.put(Media.MIME_TYPE, "image/jpeg");
// Add a new record without the bitmap, but with some values set.
// insert() returns the URI of the new record.
Uri imageFileUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI,contentValues);