所以我正在尝试实现In-App-Billing,问题是我需要我的BillingHelper/ReponseHandler在UI线程上运行。当我在Screen类中创建处理程序时,它只继承活动作为参数。并在Open GL线程上运行,我得到下面的错误。
10-16 18:36:28.500: E/AndroidRuntime(28263): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()请帮帮忙。
发布于 2012-10-17 09:54:34
因此,如果您想在UI线程上运行某些东西,则必须在UI线程上构造处理程序,并以某种方式将其传递给工作线程(通常是在线程对象构造期间,显式或通过闭包)。
不过,还是有一条捷径。方法Activity.runOnUiThread()接受一个Runnable并在UI线程上执行,不需要处理程序。
发布于 2012-10-17 09:56:11
这在异常中很清楚:没有Looper.prepare()。除UI(主)线程外,在线程中使用handler之前,您必须始终调用Looper.prepare。演示代码:
Looper.prepare();
Message msg = new Message();
msg.what = 100;
handler.sendMessage(msg);希望这条简单的信息能帮助你,Google docs
https://stackoverflow.com/questions/12925943
复制相似问题