Receiver中使用AlertDialog及主题修改

2025-11-25 12:50:08

1、一般使用

AlertDialog.Builder builder = new Builder(context)是这样的。

需要修改为:

AlertDialog.Builder builder = new Builder(context,android.R.style.Theme_Holo_Light_Dialog);

2、还要修改背景和type方式

dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

3、整体代码如下:

AlertDialog.Builder builder = new Builder(context,android.R.style.Theme_Holo_Light_Dialog);

    builder.setIcon(android.R.drawable.ic_dialog_info);

    builder.setMessage(R.string.msg_forceoff_login);

builder.setCancelable(false);

builder.setPositiveButton(R.string.ok, new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

});

AlertDialog dialog = builder.create();

dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

dialog.show();

Receiver中使用AlertDialog及主题修改

4、AndroidManifest.xml中添加权限

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢