这是一个简单的问题,但我一直无法解决:如何从使用AndEngine(AnalogOnScreenControls)的应用程序访问互联网。我的活动扩展了BaseGameActivity
。具体来说,我想打开一个URL连接。我所需要做的就是执行URL;我不想以任何方式看待它。我应该通过WebView
、HTTPConnection
、openStream()
来完成吗?如有任何帮助,我们将不胜感激!
Uri address = Uri.parse("http://your.link.com");
Intent openlink = new Intent(Intent.ACTION_VIEW, address);
yourActivity.startActivity(openlink);
问题已解决!我必须在独立于主线程的线程上运行所有网络操作(否则它将引发NetworkOnMainThread异常)。我不知道为什么其他什么都不起作用,但这起到了作用!在这里,我创建了一个带有我想要执行的操作的新线程,然后在处理了异常之后启动它。我在这里找到了答案
new Thread(new Runnable() {
public void run() {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("your_url");
try {
HttpResponse response = httpClient.execute(httpGet, localContext);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();