0

Android アプリで Facebook の友達を取得しようとしていますが、私のコードは下位の Android バージョンでは正常に動作していますが、4.0 以降のバージョンではNetworkOnMainThreadExceptionが表示されています。

これが私のコードです:

public static void getFaceBookFriendsIDs() {

        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    JSONObject result = new JSONObject(facebook.request("me/friends"));
                    JSONArray friendsArray = result.getJSONArray("data");
                    //friendsList = new ArrayList<String>();
                    for (int i = 0; i < friendsArray.length(); i++) {
                        //friendsList.add(friendsArray.getJSONObject(i).getString("id"));
                        String id=friendsArray.getJSONObject(i).getString("id");
                        String name=friendsArray.getJSONObject(i).getString("name");
                        contactBean=new ContactBean();
                        contactBean.setFbId(id);
                        contactBean.setUserName(name);
                        com.interactiveapp.Constants.fbContactListArrayList.add(contactBean);
                    }
                } 
                catch (MalformedURLException e) {
                    e.printStackTrace();

                } 
                catch (JSONException e) {
                    e.printStackTrace();

                } 
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();

        /////////////HANDLE RESPONSE//////////
        Message m = new Message();
        m.obj="";
        m.arg1 =1 ;
        saveHandler.dispatchMessage(m);

    }
4

1 に答える 1

0

>= 4.0 Android os でこの行を追加する必要があります

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

または使用できます: https://stackoverflow.com/a/16103640/1168654

于 2013-04-24T10:59:55.217 に答える