Bur*_*ani 2 camera android gallery
我必须制作一个按钮,用于从图库中选择图像或从相机中取出.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
结果是工作.如果我从图库中选择,图像查看器将查看它,如果我选择从相机拍照,它也可以工作.问题是,在我的showFileChooser()方法中,我的所有意图都在同一时间运行,所以当我从图库中选择时,相机仍在运行.我选择相机,画廊也开放.我想我应该在switch case模式下实现我的代码,但我不明白该怎么做.请帮助解决我的初学者问题.
添加a alertDialog然后in onActivityResult而不是0和1的情况使用 REQUEST_CAMERA和SELECT_FILE.您将在代码中声明:
private static final int REQUEST_CAMERA = 1;
private static final int SELECT_FILE = 2;
final CharSequence[] items = {"Take Photo", "Choose from Library", "Cancel"};
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(mActivity);
builder.setTitle("Add Photo!");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
if (items[item].equals("Take Photo")) {
PROFILE_PIC_COUNT = 1;
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CAMERA);
} else if (items[item].equals("Choose from Library")) {
PROFILE_PIC_COUNT = 1;
Intent intent = new Intent(
Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent,SELECT_FILE);
} else if (items[item].equals("Cancel")) {
PROFILE_PIC_COUNT = 0;
dialog.dismiss();
}
}
});
builder.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14747 次 |
| 最近记录: |