我有两个活动。在其中一个活动中,我有一个 ImageView
和一个相机按钮。当我按下相机按钮时,它会进入另一个活动,那里有两个按钮:拍摄和选择按钮。当我按下拍摄按钮时,它会捕获一张图片。但问题是如何将这个捕获的图像保存到相册中。在按下选择按钮后,捕获的图像应该显示在第一个活动的 ImageView
上。我该怎么做。
final static private int NEW_PICTURE = 1;
private String mCameraFileName;
ImageButton Edit = (ImageButton) findViewById(R.id.internetbrowser4);
Edit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
// Picture from camera
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
// This is not the right way to do this, but for some reason, having
// it store it in
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI isn't working right.
Date date = new Date();
DateFormat df = new SimpleDateFormat("-mm-ss");
String newPicFile = "Bild"+ df.format(date) + ".jpg";
String outPath = "/sdcard/" + newPicFile;
File outFile = new File(outPath);
mCameraFileName = outFile.toString();
Uri outuri = Uri.fromFile(outFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outuri);
startActivityForResult(intent, NEW_PICTURE);
}
});
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == NEW_PICTURE)
{
// return from file upload
if (resultCode == Activity.RESULT_OK)
{
Uri uri = null;
if (data != null)
{
uri = data.getData();
}
if (uri == null && mCameraFileName != null)
{
uri = Uri.fromFile(new File(mCameraFileName));
}
File file = new File(mCameraFileName);
if (!file.exists()) {
file.mkdir();
}
}
}}
}
试试这个...
String path = Environment.getExternalStorageDirectory() + "/CameraImages/example.jpg";
File file = new File(path);
Uri outputFileUri = Uri.fromFile( file );
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult( intent, CAPTURE_IMAGE );
你的图像将被保存在该位置:“sdcard/CameraImages/example.jpg”