关于requestcode的信息

http://www.itjxue.com  2023-02-16 18:35  来源:未知  点击次数: 

public void onActivityResult(int requestCode, int resultCode, Intent data)的requestCode是干嘛用的?

public void selectIcon(View view)

{

//打开系统图库

Intent intent=new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent, 100);

}

@Override

protected void onActivityResult(int requestCode, int resultCode,

Intent data) {

super.onActivityResult(requestCode, resultCode, data);

try {

if (requestCode==100 resultCode==this.RESULT_OK)

.......}

第一个参数为请求码,即调用startActivityForResult()传递过去的值

第二个参数为结果码,结果码用于标识返回数据来自哪个新Activity

如果你有多个不同数据请求的话,第一个参数可以用来过滤到底是哪个数据请求,

第二个也一样

requestcode 什么意思

request code 英[ri?kwest k?ud] 美[r??kw?st kod]

[词典] [计] 请求码;

[例句]Request code: This code contains information about target computer, number of channels and type of product requested.

要求码:这码包含了目标电脑的软硬体资讯,以及需要安装多少产品的要求资讯。

Android PendingIntent.getActivity方法中 requestCode参数的作用

总结如下:

PendingIntent有一个getActivity方法,第一个参数是上下文,没啥好说的,第二个参数 requestCode,这个后面说,第三个参数是 Intent,用来存储信息,第四个参数是对参数的操作标识,常用的就是FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT。

当使用FLAG_UPDATE_CURRENT时:

PendingIntent.getActivity(context, 0, notificationIntent,PendingIntent.FLAG_CANCEL_CURRENT时);

FLAG_UPDATE_CURRENT会更新之前PendingIntent的消息,比如,你推送了消息1,并在其中的Intent中putExtra了一个值“ABC”,在未点击该消息前,继续推送第二条消息,并在其中的Intent中putExtra了一个值“CBA”,好了,这时候,如果你单击消息1或者消息2,你会发现,他俩个的Intent中读取过来的信息都是“CBA”,就是说,第二个替换了第一个的内容

当使用FLAG_CANCEL_CURRENT时:

依然是上面的操作步骤,这时候会发现,点击消息1时,没反应,第二条可以点击。

导致上面两个问题的原因就在于第二个参数requestCode,当requestCode值一样时,后面的就会对之前的消息起作用,所以为了避免影响之前的消息,requestCode每次要设置不同的内容。

android:主页面startactivityforresult(intent,requestCode)跳转后子页面如何得到requestCode这个值

requestCode是用来在主页面回收子页面的消息用的在主页面中重写:protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == YOUR_REQUEST_CODE) {//这里填写你的requestcode if (resultCode == RESULT_OK) { //你要执行的任务 } } } }在子页面重写 public void onBackPressed(){// 按下返回键的事件 super.onBackPressed(); setResultCode(RESULT_OK);}如果你想从主页面向子页面传数据 ,请给intent里面添加数据即可android:主页面startactivityforresult(intent,requestCode)跳转后子页面如何得到requestCode这个值

(责任编辑:IT教学网)

更多

推荐Flash actionscript文章