0

アプリケーションで共有ボタンを使用しようとしていますが、無効になっているように見えます。

無効化された共有ボタン

私はすでにsdkを初期化しています:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    FacebookSdk.sdkInitialize(getApplicationContext());
}

また、ドキュメントが示唆するようにマニフェストを正しく構成しています: https://developers.facebook.com/docs/android/getting-started

ビューのボタンは次のようになります。

<com.facebook.share.widget.ShareButton
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:text="@string/share"
              android:id="@+id/share_on_fb_button"
              bind:onClick="shareOnFBButtonClick"/>

何が問題なのですか?ボタンが無効になっているのはなぜですか? アプリにログイン機能を実装する必要がありますか? それとも、デバイスに facebook アプリケーションがあればよいのでしょうか?

4

1 に答える 1

3

com.facebook.share.widget.ShareButtonBase を参照してください。

/**
 * Sets the share content on the button.
 * @param shareContent The share content.
 */
public void setShareContent(final ShareContent shareContent) {
    this.shareContent = shareContent;
    if (!enabledExplicitlySet) {
        internalSetEnabled(canShare());
    }
}

setShareContent を呼び出して shareButton を有効にし、試してください。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_main);

    ShareButton fbShareButton = (ShareButton) findViewById(R.id.share_on_fb_button);
    ShareLinkContent content = new ShareLinkContent.Builder()
            .setContentUrl(Uri.parse("https://developers.facebook.com"))
            .build();
    fbShareButton.setShareContent(content);
}

注: https://developers.facebook.com/docs/sharing/android

「共有を実装する場合、アプリは共有するコンテンツを事前に入力しないでください。これは、Facebook プラットフォーム ポリシーと矛盾しています。Facebook プラットフォーム ポリシー 2.3 を参照してください。」

于 2015-10-18T15:38:34.633 に答える