这里有一些非常简单的代码:
public void test(View v) {
try {
new URL("http://test.com/index.php?lat=0&long=1").openStream();
} catch (IOException e) {
throw new RuntimeException("Url Exception" + e);
}
}
每当我按下一个链接到测试的按钮,它就会立即崩溃。问题出在哪里?
此处的错误代码:http://pastebin.com/xEJwWhD1
将INTERNET权限添加到清单文件中。
您必须添加以下行:
<uses-permission android:name="android.permission.INTERNET" />
在AndroidManifest.xml 中的应用程序标签之外
可能性2这可能是由于在Honeycomb中引入的NetworkOnMainThreadException
异常。要解决这个问题,你应该在一个单独的线程中完成所有的网络工作(你可以使用AsyncTask
来方便)。
有关更多信息,您可以阅读此博客文章:http://www.androiddesignpatterns.com/2012/06/app-force-close-honeycomb-ics.html
我想您得到的是NetworkOnMainThread异常。如果您尝试在主线程上进行网络调用,即使添加了权限,也会出现此异常。您需要使用Asynctask或类似于volley。