Android学习笔记Android性能优化

Android Service中显示Dialog

2016-05-12  本文已影响982人  Viking_Den

使用背景

有些应用需要在后台执行,当有符合逻辑的Case出现时,需向用户展示一对话框显示提示信息。


具体步骤

第一步:在构建好Dialog对象之后,在show()方法之前加上如下代码:

dialog 加上TYPE_SYSTEM_ALERT

第二步:在AndroidManifest.xml中加入如下权限:

在AndroidManifest.xml加上android.permission.SYSTEM_ALERT_WINDOW权限

第三步:如果你的程序是运行在Android6.0或者以上设备,因为权限的管理,要设置该应用可在其他应用的上层显示为允许,故还需添加以下的代码逻辑:

判断当前系统是否是Android 6.0,并且该应用是否已允许在其他应用上层显示 具体的Intent调用举例

具体的设置界面如下:

原理说明

如果只在Service中写入常在Activity中使用的创建Alter的代码,运行时是会发生错误的,因为Alter的显示需要依附于一个确定的Activity类。而以上做法就是声明我们要弹出的这个提示框是一个系统的提示框,即全局性质的提示框,所以只要手机处于开机状态,无论它现在处于何种界面之下,只要调用dialog.show(),就会弹出提示框来。

参考资料

Alert dialog from Android service

上一篇下一篇

猜你喜欢

热点阅读