Usando restFB , hice lo siguiente (gracias Igy / Alex por la orientación). Tenga en cuenta que Facebook devuelve una serie de ID de amigos con "instalado" = verdadero si el usuario está instalado (como se puede ver aquí ).
Primero amplíe la clase User, agregando un installed
campo:
import com.restfb.Facebook;
import com.restfb.types.User;
public class InstalledUser extends User {
@Facebook
private boolean installed;
public InstalledUser() {
}
public boolean getInsatlled() {
return installed;
}
}
A continuación, usando DefaultFacebookClient:
FacebookClient facebook = new DefaultFacebookClient(pFacebookAccessToken);
Connection<InstalledUser> installedFacebookUsers = facebook.fetchConnection("/" + pFacebookId + "/friends", InstalledUser.class, Parameter.with("fields", "installed"));
for (List<InstalledUser> friends : installedFacebookUsers) {
for (InstalledUser friend : friends) {
if (friend.getInsatlled()) {
// Add friend.getId() to a list of ID, or whatever
}
}
}