我的英语不太完美,但我想学习,所以我希望你能理解我。我想知道如何使用facebook android sdk更改facebook个人资料图片。我能够将我的应用程序中的图片上传到任何相册,包括“个人资料图片”(我使用下一个代码:)
params=new Bundle();
params.putByteArray("photo", photo);
params.putString("caption", description);
mAsyncRunner.request(idAlbum+"/photos", params,"POST",new RequestListener() {
@Override
public void onMalformedURLException(MalformedURLException e, Object state) {}
@Override
public void onIOException(IOException e,Object state) {}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state){}
@Override
public void onFacebookError(FacebookError e,Object state) {}
@Override
public void onComplete(String response, Object state) {
mHandler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),"Success", Toast.LENGTH_LONG).show();
}
});
}
}, null);
但我不知道如何将上传的图像设置为个人资料照片。也许为此添加一些代码?我知道我要求的是使用facebook sdk for php。另外,我也看过一款Apple应用程序。然后,我想我可以在android中做到这一点。有人有关于我在寻找什么的信息?提前谢谢。
答案 0 :(得分:4)
好的,我找到了这样做的方法。这是代码:
params=new Bundle();
try {
params.putByteArray("photo", photo);
} catch (IOException e) {
e.printStackTrace();
}
params.putString("caption", description);
mAsyncRunner.request(idAlbum+"/photos", params,"POST",
new RequestListener() {
@Override
public void onMalformedURLException(MalformedURLException
e, Object state) {}
@Override
public void onIOException(IOException e,Object state) {}
@Override
public void onFileNotFoundException(
FileNotFoundException e, Object state){}
@Override
public void onFacebookError(FacebookError e,Object state) {}
@Override
public void onComplete(final String response, Object state) {
mHandler.post(new Runnable() {
@Override
public void run() {
try {
JSONObject json=new JSONObject(response);
JSONObject obj=new JSONObject(
facebook.request("me"));
final String photoId=json.getString("id");
String userId=obj.getString("id");
String url="https://m.facebook.com/photo." +
"php?fbid="+photoId+"&id="+userId+
"&prof&__user="+userId;
Intent mIntent=new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
startActivity(mIntent);
} catch (JSONException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}, null);
在特定相册上发布照片,使用JSONObject获取photoID,然后重定向到用户可以确认将照片设置为他/她的个人资料照片的网页。