Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从SD卡上传图像到facebook?_Android_Facebook - Fatal编程技术网

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);
}