Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java onActivityResult使用putExtra()拾取图像_Java_Android - Fatal编程技术网

Java onActivityResult使用putExtra()拾取图像

Java onActivityResult使用putExtra()拾取图像,java,android,Java,Android,要从以下部分设置值RESULT,应在onActivityResult中检索该值 下面是代码 Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); System.out.println("Select Display Picture, but");

要从以下部分设置值
RESULT
,应在
onActivityResult
中检索该值

下面是代码

Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                System.out.println("Select Display Picture, but");
                intent.putExtra("RESULT", "RESULT");
                activity.startActivityForResult(
                        Intent.createChooser(intent, "Select Display Picture"),
                        Credentials.BROWSE_PIC);
                activity.setResult(Credentials.BROWSE_PIC, intent);


@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == Credentials.BROWSE_PIC
                && resultCode == Activity.RESULT_OK && null != data) {
//returning null always here..
            System.out.println("OnActivityResult came in::: "
                    + data.getStringExtra("RESULT"));
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();

        }

如果您使用的是隐式意图,则不能在此意图中添加任何内容,因为每个隐式意图都是由其他人定义的

如果要添加某些内容,则可以使用自己的全局捆绑对象进行添加

以下是您的重要链接:

您可以看到Lavkush Agrawer关于使用全局Bundle对象的回答。这里


设置结果后是否调用
finish()
?否,如果我这样做,活动将结束//如果您不调用
finish()
,则不会激发您的
onActivityResult()
。如果您想在
活动
s之间发送
意图
s而不关闭它们,您可能需要使用本地
广播接收器
。我正在获取图像和其他一切。。。只有data.getStringExtra(“RESULT”)为空。您确定这两个值不能具有相同的意图吗?是的,确保您不能放置未由隐式意图定义的额外键/值对。设想一下,如果您将某个内容放入intent,那么它将发送到Gallery activity中的该活动(intent.ACTION\u GET\u CONTENT),您的值将在其中找到,而不是在onActivityResult()中,