【发布时间】:2012-06-24 08:12:02
【问题描述】:
每当我的应用收到来自 android 平台的某种通知时,显示对话框的最佳方式是什么?例如,方向或设备语言发生变化等。
我面临的挑战是我不知道如何获取当前活动上下文,因此很难使用 AlertDialog。
另外,我只想在应用程序在前台运行时显示此对话框,所以我的第二个问题是是否有可靠的方法来检测应用程序是否在前台运行?
谢谢!
【问题讨论】:
-
我不知道如何获取当前活动上下文 -
Activity扩展Context因此任何ActivityIS a @ 987654327@,当您需要将Context传递给任何东西(包括创建AlertDialog时)时,您可以简单地使用this。 -
我知道每一个activity都是一个context,但是反之则不然,所以我不知道当前哪个activity在前台,那么当我创建AlertDialog的时候,我就不知道了我应该通过哪个活动。
-
观察者/监听者可以做这样的事情,每个活动的活动只是在你的应用程序中注册它自己的Callback Method。编辑:better explanation of the concept
-
如果你真的想获取当前Activity,可以use this solution。当然,它可能不是你的。
标签: android android-activity android-dialog