gpt4 book ai didi

android - 如何查询堆栈上的 Activity ?

转载 作者:行者123 更新时间:2023-11-30 02:51:04 25 4
gpt4 key购买 nike

我有一个编辑联系人项目的 Activity 。除了在应用程序内通过导航调用外,我还有一个指向 EditItem Activity 的主屏幕快捷方式。

我的问题是,用户可能正在编辑一个联系人,忘记他正在这样做,然后通过快捷方式重新编辑联系人,即堆栈上可能有两个 EditItem Activity 。如果发生这种情况,一个人的编辑将破坏另一个。

我如何检测和/或避免这种情况?

最佳答案

只需在 AndroidManifest.xml 文件中将您的编辑 Activity 标记为“singleTask”即可:

<activity
android:name=".EditActivity"
android:label="@string/app_name"
android:launchMode="singleTask" />

您可以阅读 Android Developer Guide 中的 launchMode 模式.引用它,

The system creates the activity at the root of a new task and routes the intent to it. However, if an instance of the activity already exists, the system routes the intent to existing instance through a call to its onNewIntent() method, rather than creating a new one.

例如,我将此模式用于可能导致 Activity 堆栈循环的 map Activity 。为了避免用户执行 Activity A -> B -> C -> B -> C 然后必须按返回键完成所有这些 Activity ,我将 Activity C 设为“singleTask”。这样,用户只需从 Activity B 中按一次返回即可到达 Activity A。

关于android - 如何查询堆栈上的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com