【发布时间】:2020-06-10 00:04:27
【问题描述】:
我有一个活动来显示两个不一致的目标的游览详细信息
第一 该活动有一个预订按钮,该按钮重定向到银行付款并在付款成功或不成功后返回活动。这就是为什么我在清单中设置启动模式以停止重新创建活动。
android:launchMode="singleTask"
第二
该活动有一个重定向到类似旅游的按钮,然后我必须在startActivity() 之前调用finish(); 以使意图工作!
onNewIntent() 内部活动获取第一部分的数据
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent.getData() != null) {
Helper.logDebug("fsfsfsgsgsgs", "inside get data not null");
String query = intent.getData().getQuery();
Helper.logDebug("fsfsfsgsgsgs","query is "+ query);
if (query!=null && query.contains("Status=OK")) {
if (frgBtmReserve!=null){
frgBtmReserve.dismiss();
}
String count=query.substring(16);
Helper.logDebug("fsfsfsgsgsgs","count is "+ count);
frgObjectInfo.updateReserveCount(count);
Helper.logDebug("fsfsfsgsgsgs", "inside status ok");
Helper.notifyUserDone(getResources().getString(R.string.success_tour_reserve), this,R.drawable.ic_tick);
} else {
frgBtmReserve.dismiss();
Helper.logDebug("fsfsfsgsgsgs", "inside status nok");
Helper.notifyUserWarning(getResources().getString(R.string.error_tour_reserve), this);
}
}
}
点击第二部分,它应该创建当前活动的新实例,但由于活动的启动模式为singleTask.intent 直到我在finish() startActivity() 之前才起作用
Intent intent = new Intent(context, ActivityShowObject.class);
intent.putExtra(ActivityShowObject.INTENT_KEY_TYPE, Obj.TYPE_TRAVEL);
intent.putExtra(ActivityShowObject.INTENT_KEY_COLOR, color);
intent.putExtra(ActivityShowObject.INTENT_KEY_OBJ_ID, obj.getAgencyId());
((AppCompatActivity)context).finish();
startActivity(intent);
Animatoo.animateShrink(context);
这是我的问题 想一想正在查看一些类似旅行的用户,然后按返回,应用程序会回到第一步!大家有什么建议吗?
【问题讨论】:
-
你需要展示你的代码让我们看懂代码!
-
我已经添加了一些我的代码!有帮助吗?如果不需要我的代码的哪一部分?
-
使用“singleTask”启动模式会导致问题。银行付款如何返回到您的应用?
标签: java android android-intent android-activity launchmode