关于requestcode的信息
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这个值