我的后台Service
没有绑定到任何应用程序(或Activity)。它正在监视传入的消息,在接收消息时,我必须显示一个对话框弹出窗口。我已经尝试定义一个用于显示警告对话框的方法,但它提供了例外"Can't create handler inside thread that has not called Looper.prepare()"
我真的不知道如何解决这个问题。我在这里搜索了很多这样的帖子,但没有得到如何解决这个问题。高度赞赏。感谢。
答案 0 :(得分:2)
单独创建一个Handler。
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//Call you method in This one...
displayDialog(); or whatever method name is
}
};
现在调用displayDialog()方法或者命名对话框。替换以下代码。
handler.sendEmptyMessage(0);
第二个解决方案是:
将您的方法调用代码放在以下内容中:
runOnUiThread(new Runnable(){
public void run(){
//Call the method here
}
});
希望这有帮助
由于 沙
答案 1 :(得分:0)
可能会重复提问
如果您想从后台服务打开一个对话框,那么您无法做到,但有一种方法可以将您的活动作为对话从服务中打开以获取更多信息和代码
按照以下链接