我通过调用具有透明主题的intent来从Application上下文弹出一个对话框。(Similar到这里提到的。) pop是一个只读。问题是当弹出窗口显示当前活动在后台进行时。弹出窗口显示时,我也需要能够访问后台活动。我添加了以下两行,但我仍然无法控制基础活动:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
我做错了什么?
答案 0 :(得分:0)
你必须在一个帖子中打开对话框,你没有解释你想在后台做什么,但是为了让一个线程做到这一点: 创建一个名为thread1的新类,然后在那里写下:
public class thread1 extends Thread {
MainActivity activity;
public thread1(MainActivity m){
activity=m;
ProgressDialog pd;
//other code maybe for specification
pd=ProgressDialog.show(activity,"", "wait for background activity");
}
@Override
public void run(){
//you code working in background here like:
activity.sucess=0;
while (activity.sucess==0){
android.os.SystemClock.sleep(300);
}
pd.dismiss();
}
}
每当你想打开这个pb时,你应该写这个,
thread1 t1=new thread1(this);
t1.start();
当你的工作完成并想要关闭pb时,你必须设置sucess = 1然后线程将被杀死。