每当我发现设备位置发生变化时,我就会出现AlertDialog。这在应用程序认为合适的任何时候都会发生。
问题是,如果对话框在新活动启动之前出现,则对话框将随旧活动消失。反正有没有AlertDialog阻止新的Intents?或者翻译成新的活动(我可以更新上下文)吗?
我注意到AlertDialogs甚至没有处理设备旋转的情况,所以我对此的期望不是太高,但任何输入都会有所帮助。
答案 0 :(得分:2)
我只需使用SharedPreference设置,并在可能中断活动开始时检查它。
实施例
同样,一个AlertDialog意味着将自己附加到一个活动,所以你真的无法阻止它死亡,如果你以前的活动被推回或失去了屏幕的焦点(ui线程基本上被搁置!)< / p>
希望你可以通过这个小修正来解决你的问题。
要添加Daniel评论的内容,自定义Toast 可以非常棒。然而,他们被限制在约3.5秒(我认为) 更多关于Custom Toasts的信息; http://developer.android.com/guide/topics/ui/notifiers/toasts.html#CustomToastView
答案 1 :(得分:0)
你的问题对我来说并不清楚,正如我所知,你需要在设备位置发生变化时显示一个Alertdialog,它太高于新活动。我的建议是,当设备位置发生变化时,得到需求值,捆绑它有意图并传递它开始一个新的活动。捆绑也传递一个布尔标志。如果新活动中的布尔标志为真,则显示onCreate
中的警告对话框,我希望你能得到你想要的。根据我的理解,这将是您执行此操作的最佳方案。在实施此操作时,保留这些活动的历史记录可能会影响应用程序。