我正在开发一项服务,并且我有以下代码onStartCommand
:
try {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
Networker.get("http://google.com/");
} catch (Exception e) {
e.printStackTrace();
}
}
});
t.run();
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
即使网络代码在另一个线程中运行,我的服务仍然与NetworkOnMainThreadException
. 等效AsyncTask
代码不会导致此错误。是因为加盟吗?
我这样做是因为我只需要我的服务运行一个请求然后退出,所以我想使用上面的代码并返回 START_NON_STICKY 以使服务再次快速关闭。我应该做其他事情吗?