1

私はこの奇妙な問題を抱えています。Twitter を取得していますが、エミュレーターと Samsung 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);

これはマニフェストです:

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

<uses-permission android:name="android.permission.INTERNET"  />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
4

2 に答える 2

6

この質問は、ここ StackOverflow で毎日聞かれます。:)

問題は、メイン UI スレッドでネットワーク アクセスを実行していることです。NetworkAccessOnMainThreadAndroid 3.0 以降では、メイン スレッドで HTTP リクエストを実行しようとすると、アプリケーションがクラッシュします (つまり、システムが例外をスローします)。UI スレッドをブロックしないようにするには、HTTP 要求をAsyncTask(または何らかの種類の)でラップする必要があります。Thread

この件に関する私のブログ投稿を読んでください。

Ice Cream Sandwich がアプリをクラッシュさせる理由

于 2012-06-26T15:04:27.107 に答える
3

このコードを使用してください。

if (android.os.Build.VERSION.SDK_INT > 8) {

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

    }
于 2012-12-13T12:54:05.683 に答える