Android Service 弹出系统全局Dialog

原创 2015年07月09日 11:12:22

在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。

相关文章推荐

Android Listview Collections排序

首先排序需要调用Collections.sort(mDatas, new SortByDateline()); mDatas:是排序的数据源 new SortByDateline():是排序重写类...

Android中铃声总结【安卓源码解析一】

最近研究源码程序,改了改手机短信铃声的源码,最近总结了下铃声的代码,写个activity继承PreferenceActivity有:手机短信铃声,手机铃声,闹钟铃声,还有sdcard中的铃声,通过选择...

Android菜鸟笔记-Service中弹出对话框,即全局性质Dialog不依赖于Activity

1.概述 有时候我们需要在Service中或者在桌面弹出一个Dialog,但创建弹出AlterDialog时会报错,这是因为AlterDialog的显示需要依附于一个确定的Activity类。为了实...

Android 获取栈顶activity并在service 中弹出全局dialog解决方法

android 开发中,service 中需要弹出dialog 时候,无法获取到activity (service 的context 不是activity ),所以要获取栈顶的activity...

Android自定义Dialogの仿ios系统底部菜单(自下而上弹出)

对于项目中经常用到的组件,进行了封装,方便他人及自己的调用和管理,减少代码的冗余,提高开发的效率我们项目中,减少重复制造轮子。 我的项目中,经常用到底部自下而上弹出菜单选项,跟ios系统的底部菜单一样...

在Android中捕获Application全局异常 阻止系统弹出强制退出的对话框

大家都知道,现在安装 Android 系统的手机和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了...

android底部弹出Dialog

  • 2017年08月13日 14:49
  • 84KB
  • 下载

打造全局Dialog,Toast,解决Toast多次弹出以及小米无法弹出悬浮窗问题

因为产品的一个小需求,就是防止Toast重复弹出,索性花了点时间将所有的Toast,Dialog弹窗,也就是小菊花全部更改了一下。话不多说,上代码。private static Toast mtoas...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Service 弹出系统全局Dialog
举报原因:
原因补充:

(最多只允许输入30个字)