【发布时间】:2013-12-21 12:23:58
【问题描述】:
我目前正在尝试从MainActivity 的默认相机意图拍摄照片,然后将该图像放入同一活动中的ImageView。
我正在保存图像,以便拍摄的图像覆盖之前拍摄的图像(在这种情况下,我将图像称为 test.jpg 并将其存储在 sdcard 中)
我的代码现在遇到的问题是ImageView 显示应用程序上次运行时拍摄的照片。
这是我的代码。
public class MainActivity extends Activity
{
ImageView imv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imv = (ImageView)findViewById(R.id.imv);
Uri uri = null;
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/test.jpg";
try
{
uri = takePhoto(path);
}
catch(Exception e)
{
e.printStackTrace();
}
imv.setImageURI(uri);
}
private Uri takePhoto(String path) throws IOException
{
File photo = new File(path);
photo.createNewFile();
Uri fileUri = Uri.fromFile(photo);
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(cameraIntent, 0);
fileUri = Uri.fromFile(new File(path));
return fileUri;
}
}
【问题讨论】:
-
你的
onActivityResult方法在哪里?
标签: java android android-intent imageview