在Android Service中弹出全局Dialog对话框是一个很古老的问题。
很久之前解决过,但没有记录,今天遇到的时候又纠结了会儿。
搜了下资料,千篇一律的解决方法无非是:
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
并增加权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
然并卵。
其实最主要在于在主线程中调用Dialog方法。
Handler handler = new Handler(Looper.getMainLooper());
handler .post(new Runnable() {
@Override
public void run() {
//调用dialog }
});
如此,便可以顺利调出系统全局Dialog。
本文解决在AndroidService中弹出全局Dialog对话框的问题,通过在主线程中调用Dialog方法,并使用Handler在Looper的主线程中进行调用,从而顺利实现系统全局Dialog的显示。
1688

被折叠的 条评论
为什么被折叠?



