android有时候需要show对话框,但是对话框需要依附于activity,如果没有activity怎么办

当在Android应用中需要显示对话框,但没有Activity上下文时,可以采用两种方法:1) 创建Activity类型的对话框;2) 设置对话框显示在指定窗口上。本文介绍了第二种方法的具体实现,包括在Manifest中添加权限,创建AlertDialog.Builder,设置对话框样式,以及调整窗口类型为SYSTEM_ALERT以在后台显示。
摘要由CSDN通过智能技术生成

     两种方案:

1、弹出activity类型的对话框:

2、如果嫌第一种麻烦,那就getwindow(),让你的对话框显示在你取的window上;


第一种已经写过了


第二种:

先在manifest理添加权限

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" /> 


        int themeID = getResources().getIdentifier("androidhwext:style/Theme.Emui.Dialog.Alert",null,null); //适配主题
        AlertDialog.Builder builder = new  AlertDialog.Builder(this,themeID);
        builder.setTitle(R.string.wifi_is_disconnect);                
        builder.setPositiveButton(R.string.open_confirm,new OpenDataConnectOKListener());
        builder.setNegativeButton(R.string.cancle_confirm, new CloseDataConnectOKListener())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值