2017-06-12 52 views
-2

我正在使用无界服务发送请求到服务器,但它显示网络主线程异常。现在我应用与Async Task相同的逻辑工作正常。我们可以通过使用无限服务从服务器获得响应吗?移动客户端可以使用android中的无界服务从服务器获取响应吗?

+0

您是否在onStatCommand中执行网络操作? –

+0

你可以做到这一点,但这不是一个好习惯看到这个https://stackoverflow.com/a/9289190/6869086 –

+0

@an_droid_dev我在onStartCommand()执行网络操作我想点击一些URL并获得JSON作为来自onStartCommand()的响应,而不在onStartCommand()或任何线程中使用Asynctask。 –

回答

0

发生这种情况是因为您正在主线程上执行网络操作,并且这在Android 3.0及更高版本中是不允许的。即使它在服务中,服务也会在UI线程上运行,除非您专门在另一个线程中启动它们或在其中创建一个线程。

您可以通过使用Thread或AsyncTask在主UI线程中的服务中运行任务来解决此问题。

尝试在onStartCommand()中创建一个新线程

+0

谢谢Arun jee。 –

+0

如果回答了您的问题,请接受答案 –

相关问题