App全局弹框提示的问题

来源:互联网 发布:秦王凿牛窄轨铁路知乎 编辑:程序博客网 时间:2024/06/05 01:14

我们在做开发应用时可能碰到这样的问题,在App里某个时刻或倒计时到的时候弹出一个对话框,无论当前App处于何种界面都能弹出来,由于AlertDialog或Dialog的显示需要依附一个确定的Activity,所以当界面切换到其他的Activity界面时就会运行时报错或弹不出来。

现在就是需要一个系统的提示框一样,具有全局性质的提示框。

下面我们来实现它,首先在创建好Dialog后,dialog.show()之前加入如下代码:

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

其中dialog为Dialog或AlertDialog类型的对象,然后在AndroidManifest.xml文件中加入权限即可:

    <!-- 系统弹窗权限 -->    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

最后补充说明一下,在创建Dialog或AlertDialog传入的Context就可以为getApplicationContext()了(这个可以在我们自己定义的Application类里封装好),不用指定一个Activity,就能实现在任何界面都可以弹窗提示。

1 0
原创粉丝点击