参考资料:
问题:
我们在使用Service时,经常会碰到这样的情况,比如用一个service做下载,此时service不一定在最前端,有可能是其它的Activity,当下载完成时,如何能弹出对话框,让弹出框在当前activity之上。
解决方法:
一、使用全局提示框(悬浮窗)
1、使用系统的Dialog需要在清单文件中添加权限,否则不会显示出来
android.permission.SYSTEM_ALERT_WINDOW
另外,需要注意的是,某些android手机默认是不允许悬浮窗的,因此即便你添加了系统权限,也没有悬浮窗效果的。
2、在alert show() 调用之前添加以下代码:
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
参考代码如下:
Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setMessage("该下车了");
builder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setPositiveButton("确定