android服务网络连接

时间:2012-10-27 00:04:56

标签: android service inputstream

在我的应用程序中,我有一个用于从服务器获取数据的类。它在我创建的每个Activity中都可以正常工作,但这次我想在Service子类中使用它,这对我来说是100%的新服务。

我在这一行中发现了一个问题:

InputStream inputStream = urlConnection.getInputStream();

当我的网络类触发异常时,这是一个地方:

android.os.NetworkOnMainThreadException

在活动和服务中使用它有什么重大区别吗?

2 个答案:

答案 0 :(得分:1)

错误android.os.NetworkOnMainThreadException表示您正在主线程“UI线程”上运行面向网络的任务。 Android现在禁止此操作,因为它会在网络调用期间呈现无响应的UI。

要解决此问题,您需要在另一个线程中进行网络调用。 AsyncTask非常适合这一点。

答案 1 :(得分:-1)

好的我明白了,This就是问题所在。我在Service中使用了AsyncTask,现在运行良好。