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()中,