每当我发现设备位置发生变化时,都会出现一个 AlertDialog。这几乎发生在应用程序认为合适的任何时候。
问题是,如果对话框出现在新 Activity 启动之前,则对话框会随旧 Activity 一起消失。无论如何让 AlertDialog 阻止新的意图?或者翻译到新的活动(我可以更新上下文)?
我注意到 AlertDialogs 甚至不处理设备旋转的情况,所以我对此的希望并不太高,但任何输入都会有所帮助。
每当我发现设备位置发生变化时,都会出现一个 AlertDialog。这几乎发生在应用程序认为合适的任何时候。
问题是,如果对话框出现在新 Activity 启动之前,则对话框会随旧 Activity 一起消失。无论如何让 AlertDialog 阻止新的意图?或者翻译到新的活动(我可以更新上下文)?
我注意到 AlertDialogs 甚至不处理设备旋转的情况,所以我对此的希望并不太高,但任何输入都会有所帮助。
我会简单地使用 SharedPreference 设置并在您可能中断的活动开始时检查它。
前任;
同样,一个 AlertDialog 旨在将自己附加到一个活动,所以你真的不能阻止它死亡,如果你以前的活动被推回或失去屏幕的焦点(ui线程基本上被搁置了!)
希望您可以通过这个小修复来解决您的问题。
添加丹尼尔评论的内容,自定义吐司可能很棒。然而,它们被限制在大约 3.5 秒(我认为)更多关于自定义吐司的信息;http://developer.android.com/guide/topics/ui/notifiers/toasts.html#CustomToastView
您的问题对我来说不清楚,据我了解,每当设备位置发生更改时,您都需要显示警报对话框,超过新的活动。我的建议是,当设备位置更改时获得需要的值,将其与意图捆绑在一起并通过它开始一个新的活动。使用捆绑包还传递一个布尔标志。如果布尔标志在新活动中为真,则在中显示一个警报对话框onCreate
,我希望你能得到你想要的。这将是你的最佳方案按照我的理解执行此操作。此外,保留这些活动的历史记录可能会在实施此操作时影响应用程序。