【发布时间】:2023-12-25 14:06:02
【问题描述】:
我正在 onReceive 方法中创建材质对话框。
@Override
public void onReceive(Context context, Intent intent)
{
new MaterialDialog.Builder(context)
.title(sender).content(m).positiveText("C").negativeText("Cl").onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
copyToClipboard(m);
}
}).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
}
}).show();
}
我得到以下异常
Caused by: com.afollestad.materialdialogs.MaterialDialog$DialogException: Bad window token, you cannot show a dialog before an Activity is created or after it's hidden.
【问题讨论】:
-
这里也添加你自己的Receive方法的代码。对话框应始终显示在 UI 线程上。 On Receive 通常在 BG 线程中
-
这段代码你在哪里写的,我的意思是在活动或片段的哪里?
-
问题已编辑
标签: android android-activity broadcastreceiver android-alertdialog