【发布时间】:2016-06-03 06:57:00
【问题描述】:
这是我正在开发的应用程序的一个用例。有一个后台服务运行并扫描来自信标的信号,当注册特定事件时,即使应用程序未在前台运行,它也应该向用户显示一个弹出窗口。弹出窗口应该可以从屏幕本身关闭。
如果除了弹出窗口之外还有其他首选方式,请引导我找到来源。
@Override
public void onEvent(BluetoothDeviceEvent event) {
//This event is working and displaying the notifications
Utilities.buildNotification();
}
谢谢。
【问题讨论】:
-
无法在服务中创建对话框。更好地在活动中导航并使用那里的活动上下文显示dailog
-
你应该注册来自活动的广播并从服务发送结果回BR,并在onReceive方法中显示你的对话框。
-
感谢您的回答。我对Android开发很陌生。您能指导我了解一些可以了解更多信息的指南吗?
-
为什么不简单地使用通知?它可以完成您想要的一切(除了作为对话框),并且您的方法已经建议您使用它。
-
不,它不能。如果您想要全屏,您可能希望直接从服务启动一个活动。添加“Intent.FLAG_ACTIVITY_NEW_TASK”启动 Activity 的 Intent,每次收到事件时它都应该弹出。但人们往往讨厌那些随机生成脱离上下文的活动的应用程序。我不会向公众发布具有这种解决方案的应用程序。但这只是我的看法。
标签: java android service popupwindow