繁体   English   中英

未安装Facebook时如何在Android上使用ShareOpenGraphContent

[英]How to use ShareOpenGraphContent on Android when Facebook is not Installed

我正在使用ShareOpenGraphContent在我的Android应用程序中通过Facebook OpenGraph共享图像,它仅在安装Facebook时有效。

    SharePhoto photo = new SharePhoto.Builder()
            .setBitmap(bitmap)
            .setCaption("https://play.google.com/store/apps/details?id=" +
                    G.app.getPackageName())
            .build();

    // Create an object
    ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
            .putString("og:type", "my app:type")
            .putString("og:title", "my app title")
            .putString("og:url", "https://market.android.com/details?id=" + G.app.getPackageName())
            .putPhoto("og:image", photo)
            .build();

    // Create an action
    ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
            .setActionType("my app:object")
            .putObject("my object", object)
            .build();

    // Create the content
    ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
            .setPreviewPropertyName("type")
            .setAction(action)
            .build();

    final ShareButton shareButton = (ShareButton) findViewById(R.id.facebookShare);
    shareButton.setShareContent(content);
    shareButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // do some thing
            bitmap.recycle();
        }
    });

G.app生命周期 api。

我了解我需要发布操作权限和Facebook批准,此打开的图表才能在未安装Facebook应用的情况下正常工作。 但是我该怎么做呢? 我想向用户显示与他们安装Facebook应用程序时看到的对话框相同的对话框。

如果未安装FB应用程序,则通常的后备状态是Web对话框,但是Web对话框不支持位图(仅图像的URL),这可能就是为什么它不适合您的原因。

您需要将图像切换为Web URL,或将ShareApi类与publish_actions权限一起使用(但在这种情况下,不会为您的用户提供对话框)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM