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