onActivityResult用putExtra()选择图像

时间:2014-04-25 06:53:35

标签: java android

想要从以下部分设置值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();

        }

1 个答案:

答案 0 :(得分:2)

您正在使用隐式Intent ,您不能在此意图中放置任何内容,因为每个隐式意图都是由其他人定义的。

如果您想添加某些内容,则可以使用自己的 Global Bundle对象

以下是您的重要链接:

您可以通过Lavekush Agrawer查看使用Global Bundle Object的答案。这里access the variable in activity in another class

Android Intents - Tutorial