Android アプリケーションで URI イメージを facebook に共有しようとしています。画像パラメーターを使用すると、画像の URL を使用することが強制されます。携帯電話ギャラリーから共有しようとしているので、URI を URL のように読み取る方法、またはこれを行う他の方法があるかどうか疑問に思っていました。助言がありますか?
更新:使用しようとしているコードを追加して、これを更新しました。Facebook の新しく展開された API を使用していないことを理解しています。URLからの写真ではなく、電話ギャラリーからFacebookに写真を投稿できるようにしたいだけです。ありがとうございました!
private String[] arrPath;
int id = viewIt.getId();
if(facebook.isSessionValid()) {
Bundle params = new Bundle();
params.putString("name", "AndroidApp");
params.putString("caption", "Application for Android");
params.putString("description", "This is a description");
params.putString("link", "http://www.google.com/");
params.putString("picture", "file://" + arrPath[id]);
facebook.dialog(AndroidClass.this, "feed", params, new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
});
}else {
facebook.authorize(AndroidClass.this, new String[] {"email", "publish_stream"}, new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Toast.makeText(AndroidClass.this, "fberror", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
Toast.makeText(AndroidClass.this, "onError", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Editor editor = sp.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
Toast.makeText(AndroidClass.this, "onCancel", Toast.LENGTH_SHORT).show();
}
});
}
}
});