gpt4 book ai didi

java - Android:在前面保持警惕,让用户必须响应

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:01 27 4
gpt4 key购买 nike

我的应用程序显示一个警告,用户必须响应该警告才能继续做其他事情。我试图找出实现它的最佳方法。使用 Activity 进行警报效果不佳。

在我当前的实现中,警报是 Activity (A)。当同一包中的另一个 Activity 启动并调用 onStop 时,它会使用 FLAG_ACTIVITY_REORDER_TO_FRONT 再次启动自己,以便它始终位于堆栈的顶部。除非 Activity A 使用 Theme.Dialog 或 Theme.Translucent。

修改日志:

Activity A created
Activity A started
Activity A resumed
Activity A paused
Activity B created
Activity B started
Activity B resumed
Activity B gains window focus
Activity A stopped
Top activity in stack is Activity B, so Activity A relaunches itself
Activity B paused
Activity A started
Activity A resumed

堆栈中的顶部 Activity 应该是 Activity A,但是 Activity B 仍然在前台。

另一个实现细节:我的应用程序不适用于手机,因此我不关心完成 Activity 或与其他应用程序交互的后退按钮。不过,我同意原则上无论如何我都应该避免此类问题,所以在我的代码中我检查前面的 Activity 是否来自同一个包(即来 self 们的代码库)。这应该可以解决干扰其他应用程序的理论问题。

有没有办法让 Activity A 成为焦点?我知道这是不寻常的行为,但 Activity A 有必要保留在前台,直到它故意结束。

我也乐于接受有关完全不同且更好的方法的建议!

FWIW,我正在运行 2.2。

(从 http://groups.google.com/group/android-developers/browse_thread/thread/d46fd7d59abe15a0 交叉发布,我们没有收到任何回复。)

最佳答案

你不能这样做。请不要这样做。堆栈顶部的 Activity 是具有输入焦点的 Activity 。您尝试做的事情从根本上破坏了本应发生的用户交互。

平台通常认为您正在做的是滥用它,Android 已经越来越多地采取措施来防止此类应用程序造成危害。

关于java - Android:在前面保持警惕,让用户必须响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665466/

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