如何在服务中显示活动对话框?

时间:2013-12-15 01:53:22

标签: android service dialog

我正在开发一个应用程序,可以下载服务中的一些数据并通过推送通知显示它,用户也可以读取活动中的其他数据。所以你能解释一下我如何在关闭WIFI / 3G时为用户制作一个显示器的dilalog,并说出“对于正常的应用程序工作你应该打开3G / WIFI”。问题是我必须通过服务回调来实现它,即通过这个逻辑:

服务开始下载数据 - >没有互联网 - >如果关闭WiFi / 3G,则为Cheks - >在任何活动对话框中显示。

我知道我可以通过使用接收器来实现它,但是如何在每个活动中调用对话框?或者我不需要活动,只需要OnReceive方法中的上下文,对吧?请给我任何想法。

2 个答案:

答案 0 :(得分:0)

使用对话框主题启动(您自己的)活动。

希望它有所帮助!

答案 1 :(得分:0)

  

或者我不需要活动,只需要OnReceive方法中的上下文,对吧?

不,那是不正确的。 Dialog需要Activity。您可以使用Toast显示来自onReceive()的{​​{1}}。

或者,正如Junior建议的那样,您可以使用Context创建Activity。要执行此操作,您只需将以下行添加到Dialog theme <activity>标记中,以获取相应的manifest.xml

Activity

这很好,因为它在显示为android:theme="@android:style/Theme.Dialog" 时为您提供Activity的所有功能,因此用户不会觉得他们“离开”了他们所在的位置。