我有一个运行后台线程的服务。我想做的是
显示从我的后台线程启动的 AlertDialog。我知道
这不是通知用户的推荐方式,并且它
中断工作流程(因为它们可以随时在任何应用程序中弹出)
时间)但这对于我的用例来说是一种合适的方式。
有一个处理程序注册到后台线程并显示
使用处理程序的 Toast 通知工作正常。但切换之后
对于 AlertDialog 来说,什么也没有发生。我的 showDialog 逻辑是
默默无视。没有出现对话框窗口,也没有日志条目。有点
奇怪的是,我期望至少有一个日志条目表明我正在做的事情
有什么问题或者什么的。
显示从以下位置发起的 AlertDialog 是否有任何限制
服务后台线程?有些人似乎推荐一个对话主题
获得类似行为的活动。
非常感谢任何澄清或帮助使其发挥作用!
Yves
可以从后台线程打开对话框。诀窍是启动一个看起来像对话框的活动:
<activity android:label="@string/app_name" android:name="YourDialog" android:theme="@android:style/Theme.Dialog"/>
然后,开始您的活动:
Intent dialog = new Intent(this, YourDialog.class);
dialog.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(dialog);
请注意,这是异步的并且不会阻塞。如果要处理结果,则必须使用 startService() 并传递自定义活动来指示结果。
Emmanuel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)