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 回答