Receiver中使用AlertDialog及主题修改
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();

4、AndroidManifest.xml中添加权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />