我遇到了一种奇怪的情况,如果按下后退按钮,用户将被转到上一个活动。
但是,如果用户转到主屏幕或切换应用程序,然后返回该应用程序。然后按下返回按钮,而不是转到上一个活动,而是返回到android主屏幕。
该活动正在由以下人员启动:
Intent intent = new Intent(context, NewActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
注意:该活动是由图书馆创建的。当集成应用程序是基于Java的应用程序时,该流程可以正常工作,而当它与kotlin应用程序集成时,会出现错误的流程。
有人经历过这样的事情吗?
Intent.FLAG_ACTIVITY_NEW_TASK
将启动的Activity
放入新任务。返回应用程序将使用户返回到该任务,该任务中仅包含Activity
。因此,返回按钮将用户放回主屏幕。当用户没有回家时,不会发生这种情况,因为您应用的先前任务当时在新任务的下面。
您应该在没有该标志的情况下启动Activity
,这可能需要应用传递一个Activity
才能将其从库启动。
我认为这里的Kotlin / Java区别是无关的巧合。