在service中打开一个dialog

纯粹是个人学习总结,如有不对的地方请吐槽。
//在dialog show方法之前添加如下代码,表示该dialog是一个系统的dialog
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));

测试代码:

Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setMessage("在service中打开的dialog");
builder.setNegativeButton("取消", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

    }
});
builder.setPositiveButton("确定", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

    }
});
final AlertDialog dialog = builder.create();
//在dialog  show方法之前添加如下代码,表示该dialog是一个系统的dialog**
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
new Thread(){
    public void run() {
        SystemClock.sleep(4000);
        hanlder.post(new Runnable() {
            @Override
            public void run() {
                dialog.show();
            }
        });
        };
   }.start();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容