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

Google glass 如何在高频实时卡上随时显示警报对话框?,google-glass,google-gdk,Google Glass,Google Gdk,我正在研究一种玻璃器皿,它需要能够在玻璃器皿使用寿命内的任何时间显示警报对话框。从上可以看出,这需要一个有效的上下文对象。然而,我使用的是高频实时卡设计范例,因此它使用服务而不是活动作为其主要类。如果我试图将服务作为上下文传递给警报对话框构造函数,就会得到一个BadTokenException 是否有一种推荐的方法可以在任何时候用这种玻璃器皿显示警报对话框?我已经能够从Glassware菜单中成功地显示它们,因为菜单确实是一个具有可用上下文对象的活动,但我也需要能够在菜单关闭时显示警报 作为记录

我正在研究一种玻璃器皿,它需要能够在玻璃器皿使用寿命内的任何时间显示警报对话框。从上可以看出,这需要一个有效的上下文对象。然而,我使用的是高频实时卡设计范例,因此它使用服务而不是活动作为其主要类。如果我试图将服务作为上下文传递给警报对话框构造函数,就会得到一个BadTokenException

是否有一种推荐的方法可以在任何时候用这种玻璃器皿显示警报对话框?我已经能够从Glassware菜单中成功地显示它们,因为菜单确实是一个具有可用上下文对象的活动,但我也需要能够在菜单关闭时显示警报

作为记录,我已经找到了两种可能的解决方案,它们看起来相当粗糙:创建一个单独的以对话为主题的活动,或者使用系统警报,如前两篇文章所示。如果有更好的方法,我宁愿避免这些

编辑:
到目前为止,我已经接受了给出的一个答案,但如果有人知道更正式的方法,请发布第二个答案,我可能会接受。

创建一个扩展AlertDialog.Builder的CustomAlertDialogBuilder,并将该服务用作上下文

但是,一旦您有了警报对话框,我不相信您可以避免:

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