解决方法1:使用Facebook SDK获取个人资料图片
// 添加Facebook SDK依赖项
implementation 'com.facebook.android:facebook-android-sdk:[版本号]'
// 在Activity中获取个人资料图片
private void getFacebookProfilePicture() {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
if (accessToken != null && !accessToken.isExpired()) {
GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
try {
String pictureUrl = object.getJSONObject("picture").getJSONObject("data").getString("url");
// 使用图片URL进行操作
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "picture.type(large)");
request.setParameters(parameters);
request.executeAsync();
}
}
解决方法2:使用Facebook API获取个人资料图片
// 使用Facebook API获取个人资料图片
private void getFacebookProfilePicture() {
GraphRequest request = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/picture",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
try {
JSONObject json = response.getJSONObject();
JSONObject data = json.getJSONObject("data");
String pictureUrl = data.getString("url");
// 使用图片URL进行操作
} catch (JSONException e) {
e.printStackTrace();
}
}
}
);
Bundle parameters = new Bundle();
parameters.putString("type", "large");
request.setParameters(parameters);
request.executeAsync();
}
请确保在使用Facebook API或SDK之前已经获取到了用户的访问令牌(AccessToken)。
上一篇:安卓无法更改启动页面。