Receiver中使用AlertDialog及主题修改

时间:2026-02-16 07:15:56

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" />

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com