Zuerst müssen Sie die GraphRequest API aufrufen, um alle Details des Benutzers zu erhalten, in denen die API auch die URL des aktuellen Profilbilds angibt.
Bundle params = new Bundle();
params.putString("fields", "id,email,gender,cover,picture.type(large)");
new GraphRequest(AccessToken.getCurrentAccessToken(), "me", params, HttpMethod.GET,
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
if (response != null) {
try {
JSONObject data = response.getJSONObject();
if (data.has("picture")) {
String profilePicUrl = data.getJSONObject("picture").getJSONObject("data").getString("url");
Bitmap profilePic= BitmapFactory.decodeStream(profilePicUrl .openConnection().getInputStream());
mImageView.setBitmap(profilePic);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).executeAsync();
Dies wirft Fehler für mich, weil decodeStream nach einer URL statt einer Zeichenfolge sucht - mache ich etwas falsch? – ntgCleaner
haben Sie versuchen BitmapFactory.decodeStream (url.op enConnection(). getInputStream()); ?? – Rajesh
Ich habe Ihren genauen Text dort verwendet, habe '' getFacebookProfilePicture() 'außerhalb von onCreate platziert und zeigt' .openConnection() 'als nicht aufgelöst an. Nicht sicher, was ich falsch mache – ntgCleaner