/ / Il pulsante Condividi sembra disabilitato: Android, Facebook, Condividi, Facebook-SDK-4.x

Il pulsante Condividi sembra disattivato: android, facebook, share, facebook-sdk-4.x

Sto cercando di utilizzare un pulsante di condivisione nella mia applicazione, ma sembra che sia stato disabilitato:

pulsante di condivisione disabilitato

Ho già inizializzato il sdk:

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

FacebookSdk.sdkInitialize(getApplicationContext());
}

Ho anche il manifest configurato correttamente come suggerisce la documentazione: https://developers.facebook.com/docs/android/getting-started

Il pulsante nella vista è così:

<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"/>

Quale potrebbe essere il problema? Perché il pulsante è disabilitato? Devo implementare la funzionalità di accesso nella mia app? O ho solo bisogno di avere un'applicazione Facebook sul dispositivo?

risposte:

3 per risposta № 1

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

Chiamando setShareContent per abilitare il shareButton, provalo:

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

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

"Quando si implementa la condivisione, l'app non deve precompilare alcun contenuto da condividere. Ciò è incompatibile con le Norme sulla piattaforma di Facebook, vedere Norme sulla piattaforma di Facebook, 2.3."