android中onActivityResult方法无法获取返回的resultCode和data问题

头像 2019-09-0817:48:37 评论 265 ℃

顺序必须如此 

Intent resultIntent = new Intent();
resultIntent.putExtra("status", "login_success");
activity.setResult(RESULT_OK, resultIntent);
Log.e(TAG, "login: ========status"+isFromWeb );
activity.finish();

不可以先调用finish()

 

首先启动时必须用startActivityForResult

如:

 

然后就是请求的activity在AndroidManifest.xml中必须不能这样设置android:launchMode="singleTask"

 

然后就是设置返回参数问题,必须设置setResult

Intent intent=new Intent();
intent.putExtra("newPwd", newPwd.getText().toString());
ChangePwdActivity.this.setResult(2000, intent);
ChangePwdActivity.this.finish();

 

在最开始的activity中获取数据;例如:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub

Log.d("TAG", "onActivityResult.."+requestCode+"\t"+resultCode);
if(resultCode==2000){
//关注界面选择的信息返回到注册界面,将数据放入注册对象中
Log.d("TAG","newPwd"+ data.getExtras().getString("newPwd"));

}
}

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
头像
百度云盘1T空号
百度云盘2T空号

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: