0
내 안드로이드 애플 리케이션에서 페이스 북의 친구를 가져 오려고 노력하고 있습니다. 내 코드는 안드로이드 버전에서 잘 작동하고 있습니다. 그러나 NetworkOnMainThreadException은 4.0 이상 버전에서 나타납니다. 당신이> = 4.0 안드로이드 OS안드로이드 페이스 북 친구 가져 오기 NetworkOnMainThreadException 4.0 이상에서 android os 버전
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
이 줄을 추가하거나 사용할 수
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 서비스를 중단시킬 수 있기 때문입니다. –asynctask를 사용할 수 있습니다. -> http://stackoverflow.com/a/16103640/1168654 –
AsyncTask를 사용하거나 Facebook SDK의 버전 3.0과 비동기 메소드가있는 Request 클래스를 사용하십시오. –