Android 如何从SD卡上传图像到facebook?
我把代码放在这里,谁能告诉我出了什么问题 代码Android 如何从SD卡上传图像到facebook?,android,facebook,Android,Facebook,我把代码放在这里,谁能告诉我出了什么问题 代码 private void onFbLogin() { LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_friends")); LoginManager.getInstance().registerCallback(callbackManager, new
private void onFbLogin() {
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_friends"));
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
System.out.println("Success");
if (ShareDialog.canShow(ShareLinkContent.class)) {
File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard, "final_card.jpg");
ShareLinkContent content = new ShareLinkContent.Builder()//
.setContentUrl(Uri.parse("file:///sdcard/sharing_event.jpg"))
.setContentDescription("some desc")
.setContentTitle("Chennai")
.build();
shareDialog.show(content);
}
}
@Override
public void onCancel() {
showAlert();
}
@Override
public void onError(FacebookException error) {
showAlert();
}
private void showAlert() {
new AlertDialog.Builder(FinalCardView.this)
.setTitle(getString(R.string.cancelled))
.setMessage(getString(R.string.permission_not_granted))
.setPositiveButton(getString(R.string.ok), null)
.show();
}
});
}
private void onFbLogin(){
LoginManager.getInstance().logInWithReadPermissions(这是Arrays.asList(“用户朋友”));
LoginManager.getInstance().registerCallback(callbackManager,
新建FacebookCallback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
System.out.println(“成功”);
如果(ShareDialog.canShow(ShareLinkContent.class)){
文件sdCard=Environment.getExternalStorageDirectory();
File File=新文件(sdCard,“final_card.jpg”);
ShareLinkContent=新的ShareLinkContent.Builder()//
.setContentUrl(Uri.parse(“file:///sdcard/sharing_event.jpg"))
.setContentDescription(“某些描述”)
.setContentTitle(“钦奈”)
.build();
显示(内容);
}
}
@凌驾
公开作废{
showarert();
}
@凌驾
public void onError(facebook异常错误){
showarert();
}
私有void showAlert(){
新建AlertDialog.Builder(FinalCardView.this)
.setTitle(getString(R.string.cancelled))
.setMessage(getString(R.string.permission\u not\u grated))
.setPositiveButton(getString(R.string.ok),null)
.show();
}
});
}
是否要共享图片-它需要使用SharePhoto照片
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.build();
SharePhotoContent content = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
所以你可以得到一个位图文件
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()
终于对我有用了。。。没有任何登录和发布操作权限。。。但我们手机上安装的本机android应用程序
public void shareFacebookUsingGraph(){
如何为图像共享提供本地图像路径
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "books.book")
.putString("og:title", "A Game of Thrones")
.putString("og:description", "In the frozen wastes to the north of Winterfell, sinister and supernatural forces are mustering.")
.putString("books:isbn", "0-553-57340-3")
.build();
// Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.message_box);
File sd = Environment.getExternalStorageDirectory();
File image_file = new File(sd, "sharing_event.jpg");
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap_image = BitmapFactory.decodeFile(image_file.getAbsolutePath(), options);
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap_image)
.setUserGenerated(true)
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("books.reads")
.putObject("book", object)
.putPhoto("image", photo)
.build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("book")
.setAction(action)
.build();
ShareDialog.show(FinalCardView.this, content);
}