我想从相机应用程序中获取图片,将其保存在 SD 上并设置 imageView。我在下面做了一个代码。保存和 imageView 有时有效。但有时图片保存在 SD 和 imageView 不起作用。
当 imageView 不起作用时,似乎 mOutUri 在 onActivityResult 中变为 null。
我试图在 clkbutton 中的 SharedPreferences 上保存一个 mOutUri。我可以在 onActivityResult 中看到 uri,但 imageView 不起作用。此时,mOutUri 也为空。
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);
}
这太奇怪了,它有时会出错,有时会起作用。