onActivityResult总是返回0 [英] onActivityResult always returns 0
问题描述
我登录后LoginActivity返回结果。但是,我越来越0总是 onActivityResult()
方法。我不能赶上原因。这是我的code:
I have LoginActivity returns result after login. However, I am getting 0 always in onActivityResult()
method. I cannot catch the cause. Here is my code:
MainActivity.java:
@Override
protected void onResume() {
super.onResume();
Intent intent = new Intent(this, LoginActivity.class);
startActivityForResult(intent, R.id.login);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == R.id.login || resultCode==RESULT_OK)
synchronizeContacts(R.id.contactList);
}
}
LoginActivity.java:
private TaskCompleteListener<CsResult> taskCompleteListener = new TaskCompleteListener<CsResult>(){
@Override
public void onComplete(int requestId, CsResult result) {
if (result==null || result.return_code!=0){
String message = !TextUtils.isEmpty(result.return_message) ? result.return_message : getString(R.string.msg_invalid_user);
JAppUtils.showMsg(LoginActivity.this, message, MsgType.ERROR);
return;
}
Log.d(TAG, "***** I can see this is called ******");
setResult(RESULT_OK);
finish();
}
};
public void loginClick(View view){
LoginTask task = new LoginTask(this);
task.setTaskCompleteListener(taskCompleteListener);
task.setLoginUser("user_id", "password");
task.execute(ServerConfig.URL);
}
当我调试或查看日志, taskCompleteListener.onComplete()
方法调用正确返回 MainActivity
来调用 onActivitResult()
方法。 请求code
是正确的,但结果code
总是 Activity.RESULT_CANCEL
。
When I debug or see the log, taskCompleteListener.onComplete()
method calls correctly and returns MainActivity
to call onActivitResult()
method. RequestCode
is right but resultCode
is always Activity.RESULT_CANCEL
.
我可以再次检查?
推荐答案
试试这个
Intent intent = new Intent(this, LoginActivity.class);
startActivityForResult(intent, 1);
而在你的 onActivityResult()
用这个。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == RESULT_OK && data != null )
{
// Here you can get the username and password
}
}
而在你登录活动
And in your Login Activity
Intent intent = getIntent();
intent.putExtra("UserName", user_id); // Place your information.
intent.putExtra("Password", password);
setResult(RESULT_OK, intent);
finish();
好运气
这篇关于onActivityResult总是返回0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!