如何在高频真实卡上随时显示警报对话框?

时间:2014-10-07 14:30:06

标签: google-glass google-gdk

我正在使用Glassware,它需要能够在Glassware的生命周期中随时显示警告对话框。从Google's GDK development guide可以看出,这需要一个有效的Context对象。但是,我使用的是高频实时卡设计范例,因此它使用Service(而不是Activity)作为其主类。如果我尝试将服务作为上下文传递给警告对话框构造函数,我会得到BadTokenException

是否有建议的方法随时使用此类玻璃器皿显示警告对话框?我已经能够从Glassware菜单中成功显示它们,因为菜单确实是一个带有可用上下文对象的活动,但我也需要能够在菜单关闭时显示警报。

为了记录,我已经能够找到几个看起来非常h​​acky的可能解决方案:创建一个单独的对话主题活动,或者使用系统警报,如前两个帖子here中所示。如果有更好的方法,我宁愿避免这些。

修改 我已经接受了迄今给出的一个答案,但是如果有人知道更多的官员"要做到这一点,请发回第二个答案,我可能会接受它。

1 个答案:

答案 0 :(得分:0)

创建一个CustomAlertDialogBu​​ilder,扩展AlertDialog.Builder并将该服务用作上下文。

一旦你有了警告对话框,我就不相信你可以避免:

alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);