【发布时间】:2016-09-28 19:26:10
【问题描述】:
我有活动 A 和 B。当我在活动 B 上并且触发了一些操作时,我正在调用活动 A。在活动 B 上,我正在使用 startActivityforResult,检查活动结果上的请求代码并显示警报对话框调用 Activity A 后的 UI。但是我的onActivityresult 没有被调用,因此我的对话框。
下面是我的代码 sn-p。
public void Logout() {
autoLogoutHandler.removeMessages(MSG_APP_LOGOUT);
Intent intent = new Intent(Activity_B.this,
Activity_A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, OPEN_NEW_ACTIVITY);
}
我的 onActivityResult 我正在检查我的请求代码,但它从来没有 调用。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OPEN_NEW_ACTIVITY) {
alert = new AlertDialog.Builder(getBaseContext())
.setTitle(null)
.setMessage(getString(xxxx))
.setIcon(null)
.setPositiveButton(getString(xxxx), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}).show();
}
}
有人可以帮我解决为什么我的onActivityResult 没有被调用吗?
【问题讨论】:
-
你的
onActivityResult是在ActivityB还是ActivityA上? -
在活动 B 上。
-
你为什么使用
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);? ActivityA 是否在某个时间点在 ActivityB 之前启动? -
是的。 ActivityA(登录屏幕)在我的应用程序的登录屏幕中。然后启动activityB。
标签: java android android-intent android-activity onactivityresult