【发布时间】:2017-12-24 09:14:58
【问题描述】:
我有三到四个活动
在第四个活动中,我正在向服务器发送数据并完成活动,用户可以处于前三个活动中的任何一个。
无论用户在哪个活动中,我都会向用户显示一个自定义警报对话框,询问如何处理从服务器获取的信息。
尝试 1:
AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(this);
alertDialogVar.create().show();
尝试 2:
AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(namActivity1.this);
alertDialogVar.create().show();
尝试 3:
AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(getApplicationContext());
alertDialogVar.create().show();
尝试 4:
根据以下链接的建议,我什至尝试广播,但同样的错误
Displaying a AlertDialog on screen irrespective of Activity Screen
我收到一个错误,提示活动在尝试显示时已关闭:
错误:E/AndroidRuntime: FATAL EXCEPTION: main
进程:dijisuji.PicPac,PID:24381
android.view.WindowManager$BadTokenException: 无法添加窗口——令牌android.os.BinderProxy@3c152e1 无效;您的活动正在进行吗?
在 android.view.ViewRootImpl.setView(ViewRootImpl.java:580)
在 android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
在 android.app.Dialog.show(Dialog.java:319)
无论活动用户在哪里,我如何让它显示出来?
【问题讨论】:
-
解决问题的一个简单方法是在从服务器发送请求时不要完成第四个活动。而是显示对话框并在对话框按钮上单击完成您的第四个活动并转到您喜欢的任何活动
-
不,我不想让用户等待查看进度。他们可以继续查看其他活动中的内容
-
好的,然后做一件事,您从 Intent 服务发出请求,一旦请求完成,就会显示来自该服务的对话框。
标签: java android android-activity android-alertdialog display