【发布时间】:2016-03-30 10:25:46
【问题描述】:
我必须制作一个按钮,用于从图库中选择图像或从相机中拍摄。
private void showFileChooser() {
Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePicture, 0);
Intent pickPhoto = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickPhoto , 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case 0:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
imageView.setImageURI(selectedImage);
}
break;
case 1:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
imageView.setImageURI(selectedImage);
}
break;
}
}
结果有效。如果我从图库中选择,imageviewer 将查看它,如果我选择从相机拍照,它也可以工作。 问题是,在我的 showFileChooser() 方法中,我所有的意图都在同一时间运行,所以当我从画廊中选择时,相机仍然在运行。我选择相机,画廊也开张了。我想我应该在 switch case 模式下实现我的代码,但我不明白该怎么做。请帮助解决我的初学者问题。
【问题讨论】:
-
您应该询问用户从哪里选择图像。
-
是的,这就是我的目标,但所有这两个都在同一时间运行
-
简单:使用像this这样的库