大家
我在多用户应用程序(即REST客户端)上工作,因此当您启动它时,您看到的第一个活动是LoginActivity。
例如,我有十个活动和LoginActivity,我可以导航,例如下一步: LoginActivity - >活动1 - >活动3 - > Activity8(注销) - > LoginActivity。 我可以从每项活动中退出。
可能的下一个情况:
1)user1登录:LoginActivity - >活动1 - > .. 活动7(退出) - >
LoginActivity。
2)user2登录:LoginActivity - >活动1 - > .. Activity4(注销) - > LoginActivity。
3)user1再次登录:LoginActivity - >的 Activity7 ..
并且如果可能的话,user1必须自然地使用他的最后一个返回堆栈转到Activity7。
用户必须只看到与他相关的数据。
有没有机制来管理所有这些东西? 我的意思是,android平台是否支持这样的多用户应用程序,或者手动恢复/存储后备堆栈。
还有其他想法吗?
P.S。我找到了解决方法,为每个用户使用SharedPrefences只存储他登录的他的数据和商店活动。但对我来说似乎不是 android方式。
UPD:我做了一些研究,发现了两个意图标志来启动新的 任务与它的背堆历史: (FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_MULTIPLE_TASK)
所以,据我所知,在上面的示例中,LoginActivity是 像javadoc中提到的“顶级发射器”之类的东西 FLAG_ACTIVITY_MULTIPLE_TASK。
但是,我找不到顶级发射器的文件/样本;如何管理 任务按其ID。 请帮助处理顶级启动器示例或管理任务api。
UPD2:我发现一些函数如何按任务ID操作任务:
public void moveTaskToFront(int taskId,int flags);
但它只是自API级别11以来
但是我使用7级,是否有任何技术如何将任务移动到前台?
答案 0 :(得分:0)
没有办法管理任务,因为“它不是真正的tasks
应该如何运作。它们的全部意义在于它们完全是分开的,不相关的东西”
我解决了这个solution中受到启发的类似问题。在此解决方案中,您会跟踪正在使用的activities
,因此我认为这符合您的想法。我不认为你会使用标签系统,所以丢弃底部。重要的部分是ActivityGroup
管理。
我希望这会有所帮助。