2014-12-05 20 views
8

Ich versuche, einige Inhalte auf Facebook zu teilen, aber ich habe eine Menge Probleme. Ich habe den richtigen Keyhash hinzugefügt und die App auf Facebook erstellt und lege es live. Wenn ich versuche, etwas zu teilen scheint es gut, wie man sehen kann:Facebook shareDialog zeigt nichts

enter image description here

aber nachdem ich auf Post geklickt haben, es ist leer: enter image description here

Es ist ein Berechtigungsproblem? Ich habe viel über diese auf dem Stapel gelesen, aber ich kann keine Antwort, die funktioniert ... Das ist der Code finden:

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) 
     { 
      case R.id.action_share:   
       Intent intent2=new Intent(Intent.ACTION_SEND); 
       intent2.setType("text/plain"); 
       intent2.putExtra(Intent.EXTRA_TEXT,"'"+ random + "'" + "\n"+"By Random Quotes"); 
       startActivity(Intent.createChooser(intent2, "Share via")); 
       break; 

       case R.id.randombut: 
        Frasi(); 

       case android.R.id.home: 
        Intent homeIntent = new Intent(this, MainActivity.class); 
        homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(homeIntent); 
       break; 

       case R.id.facebook: 
        FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this) 
        .setApplicationName("Random Quotes") 
        .setDescription(random) 
       .setPicture("https://lh6.ggpht.com/1UJ89ho9pvVLPYS6NsFVQdb7KoQPALMhkw1w7DnNDqcfDYJ-tRxruaf2YLMLyqhnG_g=w300-rw") 
        .setLink("https://play.google.com/store/apps/details?id=com.techappstudios.randomquotes") 
        .build(); 
        uiHelper.trackPendingDialogCall(shareDialog.present()); 

     } 
     return true; 
    } 
+3

ich begann Ursache einer Prämie ich bin interessiert zu –

Antwort

0

Ich denke, dass diese im Zusammenhang mit Erlaubnis, müssen Sie für publish_actions Erlaubnis beantragen. Zum ersten Mal wird facebook um die neue Erlaubnis bitten. Sobald Sie akzeptiert haben, wird der sharedialog direkt angezeigt.

Dies ist, was ich getan habe, aber der Code, den ich mit Ihren teilen Informationen ersetzen.

final Session activteSession = Session.getActiveSession(); 
     if(!activteSession.isPermissionGranted("publish_actions")) { 
      Session.getActiveSession().requestNewPublishPermissions(new Session.NewPermissionsRequest(this, "publish_actions")); 
     } 
     FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this) 
       .setApplicationName("Random Quotes") 
       .setDescription(random) 
      .setPicture("https://lh6.ggpht.com/1UJ89ho9pvVLPYS6NsFVQdb7KoQPALMhkw1w7DnNDqcfDYJ-tRxruaf2YLMLyqhnG_g=w300-rw") 
       .setLink("https://play.google.com/store/apps/details?id=com.techappstudios.randomquotes") 
       .build(); 
       uiHelper.trackPendingDialogCall(shareDialog.present()); 
     mFacebookUIHelper.trackPendingDialogCall(shareDialog.present()); 

Hope this helfen.

+0

Es gab mir einen Fehler, weil ich com.facebook.LoginActivity im Manifest haben zu erklären, und Ich habe es behoben, aber jetzt gibt es mir diesen Fehler: java.lang.UnsupportedOperationException: Sitzung: ein Versuch wurde unternommen, um neue Berechtigungen für eine Sitzung, die derzeit nicht geöffnet ist. –

1

Ich hatte ein ähnliches Problem.

Ich reparierte es, indem ich änderte, woher das Bild kam (frag mich nicht, warum das funktionierte, weil ich wirklich nicht weiß).

Anstatt meine Bild-URL von Websites wie Facebook oder Google Play zu holen, habe ich das Bild auf gethub hochgeladen. Mit gethub endete die Bild-URL in einem .png. Das Bild, der Link und die Beschreibung wurden so veröffentlicht, wie sie es sollten.

Probieren Sie es aus. Ich hoffe, es hilft.

+0

gerade habe ich das Bild entfernt und es hat funktioniert, aber ich weiß nicht, wie man jetzt Bild hinzufügen. – Rahul

0

Ab dem neuesten Update von Facebook SDK, erlauben Facebook Prefill-Text nicht. Sie können die URL also nur teilen. Dies ist unabhängig davon, ob Sie ShareDialog oder Share Intent verwenden.

finden Sie unter Bug Link für weitere Details

https://developers.facebook.com/bugs/332619626816423

+0

Das ist ein Fehler über die Absicht, aber ich benutze den Freigabe-Dialog, also denke ich, dass es anders ist. Andere Anwendungen tun dies –

+0

Ich denke Bugs in allen Methoden. Auch Sharer.php funktioniert nicht jetzt. Sie können diesen Link https://www.facebook.com/sharer/sharer.php?u=http://www.google.com&t=hello –

+0

Jetzt Prefill Inhalte sind nicht erlaubt in jede Art von Share-Methode. Sie können die Facebook-Richtlinie sehen, um Inhalte https://developers.facebook.com/policy/#control zu teilen –