質問

次のコードを使用してログインアクションユーザーの友達リストに乗り込もうとしています:

Request request = Request.newMyFriendsRequest(ParseFacebookUtils.getSession(), new Request.GraphUserListCallback() {

@Override
public void onCompleted(List<GraphUser> users, Response response) {

    // not interesting logic
}

});

request.executeAndWait();
.

そして私がコードを実行する関数を呼び出した後、次の例外を得ています:

04-14 00:39:55.896  25106-25106/com.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.app, PID: 25106
android.os.NetworkOnMainThreadException
        at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
        at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:724)
        at java.io.BufferedOutputStream.flushInternal(BufferedOutputStream.java:185)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:85)
        at com.android.okhttp.internal.http.HttpTransport.flushRequest(HttpTransport.java:107)
        at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:642)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:347)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
        at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136)
        at com.facebook.Response.fromHttpConnection(Response.java:301)
        at com.facebook.Request.executeConnectionAndWait(Request.java:1565)
        at com.facebook.Request.executeBatchAndWait(Request.java:1464)
        at com.facebook.Request.executeBatchAndWait(Request.java:1433)
        at com.facebook.Request.executeBatchAndWait(Request.java:1415)
        at com.facebook.Request.executeAndWait(Request.java:1387)
        at com.facebook.Request.executeAndWait(Request.java:1269)
        at com.app.LoginActivity.getFriends(LoginActivity.java:187)
.

なぜそれが起こるのか、そしてそれを非同期タスクとして使用せずにユーザーフレンズリストを取得する方法は?

役に立ちましたか?

解決

の代わりにp>
request.executeAndWait();
.

を使ってみてください
request.executeAsync();
.

リファレンス

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top