Android Service中显示Dialog

10 篇文章 0 订阅
4 篇文章 0 订阅
使用背景

有些应用需要在后台执行,当有符合逻辑的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



转载于:https://www.jianshu.com/p/9720ca04899c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值