android - 在 onActivityResult 方法中学习拍摄图片的路径

标签 android android-camera

@Override
protected void onCreate(Bundle savedInstanceState) {      
    super.onCreate(savedInstanceState);
    setContentView(R.layout.picture_choice_activity);

    Button takePictureButton = (Button)findViewById(R.id.takePictureButton);
    takePictureButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v){
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, IMAGE_CAPTURE);
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(requestCode == IMAGE_CAPTURE){
        if(resultCode == Activity.RESULT_OK){
            // I should get the path here
        }else if(resultCode == Activity.RESULT_CANCELED){

        }
    }
}

在上面的代码中,我试图获取捕获图像的路径。我不应该使用 EXTRA_OUTPUT 来指定自定义路径来保存图像。我该怎么做?

最佳答案

在您的 onActivityresult 中使用它

final Uri contentUri = data.getData();
final String[] proj = { MediaStore.Images.Media.DATA};
final Cursor cursor = managedQuery(contentUri, proj, null, null, null);
final int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToLast();
final String path = cursor.getString(column_index);

关于android - 在 onActivityResult 方法中学习拍摄图片的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833519/

相关文章:

android - type_gyroscope 和 type_gyroscope_uncalibrated 有什么区别?

android - 如何在SurfaceView中绘制自定义 View ?

java - ArrayList<Class> 中的 String[]

android - setOneShotPreviewCallback 没有回调我的方法

java - 如何让手机锁屏时屏幕显示闹钟

android - 如何从 android ProgressDialog 中删除标题和消息

安卓 : save/open picture taken from camera intent

android - 如何在 Android N 多窗口模式下确定正确的设备方向?

android - 如何获取 720p Android 相机预览数据?

Android M - 相机权限被拒绝返回 PERMISSION_GRANTED