可能重复:
在安卓中使用相机并将拍摄结果保存到SD卡中
我想从相机应用程序中获取图片,将其保存在SD卡上并设置imageView。 我编写了以下代码。 保存和imageView有时可以工作。 但是有时候图片保存在SD卡上,但imageView不起作用。
当imageView不起作用时,在onActivityResult中mOutUri似乎变为null。
我尝试在clkbutton中将mOutUri保存在SharedPreferences中。 我可以在onActivityResult中看到uri,但imageView不起作用。 此时,mOutUri也为null。
public void clkbutton(View v){
Intent intent = new Intent();
// open camera app
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
// save data in SD card
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd-kk-mm-ss");
String newPicFile = df.format(date) + ".jpg";
mNewPicFile = newPicFile;
String outPath = "/sdcard/" + newPicFile;
File outFile = new File(outPath);
mOutUri = Uri.fromFile(outFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutUri);
startActivityForResult(intent, REQUEST_CAPTURE_IMAGE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
ImageView imageView = (ImageView) findViewById(R.id.image_view);
imageView.setImageURI(mOutUri);
}
有时候它会出错,有时候又可以正常工作,这真是太奇怪了。