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

首先启动时必须用startActivityForResult

如:

intent=new Intent(GetPwdActivity.this,ChangePwdActivity.class);
GetPwdActivity.this.startActivityForResult(intent, 1000);


然后就是请求的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"));

}
}

你可能感兴趣的:(Activity)