菜de园子
我的园子,我做主!

       因为一些需求,我想在service处理后台运行时候,会弹出对话框,但是对话框的建立需要传入Context的值,我试过传入this,也就是service自己的context,还有 传入getApplicationContext(),都会异常报错,经过查资料才发现,其实context也分好几种,像对话框这样的是要依附于一个Activity的context。那么怎么才能建立一个不依附于activity的全局对话框呢?将我们要弹出的对话框设置为一个系统级警告提示框。

    在建立对话框的时候,将context仍然传为this。设置对话框属性,

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

     mdialog.show()

     就不会报错了,并且成功弹出。

不过在AndroidManifest.xml中添加权限

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

posted on 2013-11-08 14:23  candycaicai  阅读(832)  评论(0编辑  收藏  举报