Java 与GALLERY_请求相关的代码的含义
我用下面的代码在一个应用程序中点击一个按钮从图库中获取一张图片。它工作得很好,但我只是想知道所用代码的含义。有人能帮我吗Java 与GALLERY_请求相关的代码的含义,java,android,Java,Android,我用下面的代码在一个应用程序中点击一个按钮从图库中获取一张图片。它工作得很好,但我只是想知道所用代码的含义。有人能帮我吗 private ImageButton mSelectImage; public static final int GALLERY_REQUEST =1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s
private ImageButton mSelectImage;
public static final int GALLERY_REQUEST =1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post);
mSelectImage = (ImageButton)findViewById(R.id.imageSelect);
mSelectImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);
galleryIntent.setType("image/*");
startActivityForResult(galleryIntent, GALLERY_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == GALLERY_REQUEST && resultCode == RESULT_OK){
Uri imageUri = data.getData();
mSelectImage.setImageURI(imageUri);
}
}
这是请求代码。它可以帮助你确定你是出于什么目的回来的。例如,如果您有两个或两个以上的照相机请求和联系请求意图。无论何时,当随后调用finish并需要将数据传回Acivity时,现在您需要在onActivityResult中确定您从哪个意图调用返回,并相应地设置处理逻辑
public static final int CAMERA_REQUEST = 101;
public static final int CONTACT_VIEW = 202;
@Override
public void onCreate(Bundle savedState)
{
super.onCreate(savedState);
// For CameraRequest you would most likely do
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
// For ContactReqeuest you would most likely do
Intent contactIntent = new Intent(ACTION_VIEW, Uri.parse("content://contacts/people/1"));
startActivityForResult(contactIntent, CONTACT_VIEW);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == Activity.RESULT_CANCELED) {
// code to handle cancelled state
}
else if (requestCode == CAMERA_REQUEST) {
// code to handle data from CAMERA_REQUEST
}
else if (requestCode == CONTACT_VIEW) {
// code to handle data from CONTACT_VIEW
}
}
GALLERY\u REQUEST
是一个类似于代币的请求代码,想象你带着包走进商场,但他们不能让你带着包进去,所以你必须把你的包放在商场外面,盖伊会给你一个代币,所以当你回来的时候,你给他那个代币,他会给你的包
这个代币之所以被管理,是因为你不是唯一一个带着包来的人——可能还有更多,因为所有人都必须把他们的包放在商场外面,但如何识别哪个包属于哪个人,他们使用代币
就像使用请求代码一样,您可以通过
活动的隐式意图转到其他几个应用程序,但当您返回时,有一个方法调用了所有意图:onActivityResult
现在您有了请求代码
,以识别用户来自哪个活动 我建议您阅读。GALLERY_请求是您请求的唯一代码。