在我的Android应用程序的Service类中调用REST WebService会导致NetworkOnMainThreadException异常。
我理解为什么在Activity中会引发此异常:同步从网络中获取数据非常糟糕,但是我很惊讶在Service类中也会出现同样的错误。 所以我的问题是:
- 在这种特定情况下,我是否应该使用StrictMode.setThreadPolicy()来允许此调用。(对于那些因在Activity中遇到此错误而阅读此内容的人,请不要使用StrictMode隐藏此错误,而应使用AsyncTask)
- 还是应该使用AsyncTask?在这种情况下的问题是什么?服务不是在与Activity的线程隔离的线程上运行吗?
我理解为什么在Activity中会引发此异常:同步从网络中获取数据非常糟糕,但是我很惊讶在Service类中也会出现同样的错误。 所以我的问题是:
- 在这种特定情况下,我是否应该使用StrictMode.setThreadPolicy()来允许此调用。(对于那些因在Activity中遇到此错误而阅读此内容的人,请不要使用StrictMode隐藏此错误,而应使用AsyncTask)
- 还是应该使用AsyncTask?在这种情况下的问题是什么?服务不是在与Activity的线程隔离的线程上运行吗?