0
我想在我的Android应用来获取Facebook上的朋友我的代码是在较低的Android版本工作正常,但它显示在4.0及更高版本NetworkOnMainThreadException NetworkOnMainThreadException。Android的Facebook好友获取显示4.0或更高版本的Android操作系统版本
这里是我的代码:
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);
}
是它做的正确方法这个?因为这可能会导致OS服务中断。 – 2013-04-24 11:04:14
你可以使用asynctask。 - > http://stackoverflow.com/a/16103640/1168654 – 2013-04-24 11:11:02
使用AsyncTask,或使用Facebook SDK的3.0版和Request类,它具有异步方法。 – 2013-04-24 17:12:40