android service中弹出dialog对话框

时间:2021-11-21 08:58:35

我们都知道在Activity中弹出Dialog很正常,因为Dialog是基于Window弹出。

但是我们经常会遇到这样的需求,需要在service 中弹出一个Dialog对话框,做法有两种

第一种,使用Activity,theme设置成 Dialog 并添加:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
即可实现效果。

第二种,仍然使用Dialog,只不过我们需要添加一些属性:

// 设置成系统级对话框
mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
并且在Menifest 中添加对应的权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />