【发布时间】:2023-03-18 07:13:01
【问题描述】:
我有一个活套和处理程序:
private Handler handler;
public class LooperThread extends Thread
{
@Override
public void run()
{
Looper.prepare();
handler = new Handler()
{
@Override
public void handleMessage(Message message)
{
updateUI(message.obj);
}
};
Looper.loop();
}
}
然后在我的 MainActivity 中调用:
new LooperThread().start();
new Thread(new WorkerTask()).start();
WorkerTask 实现 Runnable 的地方。
无法在未调用 Looper.prepare() 的线程内创建处理程序。
在我的 workerTask 中,它在第二行抛出错误:
locationManager = (LocationManager) activity.getSystemService(activity.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
【问题讨论】:
-
我认为这篇文章回答了我的问题:stackoverflow.com/questions/17476847/…
-
可以发一下worker任务的代码吗?你的LooperThread没问题
标签: android