Android 2.3.3互联网适用于我的Galaxy S但不适用于我的Galaxy Tab?(权限)

Pat*_*ick 1 java android httpurlconnection ui-thread android-4.0-ice-cream-sandwich

我有这个奇怪的问题.我正在检索twitters,它可以在模拟器和我的三星Galaxy S上运行,但它在我的Galaxy Tab 10.1上不起作用?

手机和标签上都安装了相同的应用程序.从Eclipse生成所以没有调试或任何东西.

需要不同的权限?

这是代码:

HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(searchUrl);

ResponseHandler<String> responseHandler = new BasicResponseHandler();

responseBody = client.execute(get, responseHandler);
Run Code Online (Sandbox Code Playgroud)

这是显而易见的:

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.INTERNET"  />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)

Ale*_*ood 6

我发誓,这个问题每天都在StackOverflow上提出.:)

问题是您正在主UI线程上执行网络访问.NetworkAccessOnMainThread如果您尝试在主线程上执行HTTP请求,Android 3.0及更高版本将使您的应用程序崩溃(即系统将抛出异常).您需要将HTTP请求包装在AsyncTask(或Thread某些类型)中以确保不阻止UI线程.

阅读我关于这个主题的博文:

为什么冰淇淋三明治崩溃你的应用程序