Ich benutze Facebook ShareButton in meiner Android App. Die Anwendung versucht, einen Text in Facebook zu teilen. Meine App meldet sich erfolgreich bei Facebook an. Hash-Schlüssel und APP-Schlüssel in Manifest-Datei ist korrekt, ich habe überprüft.Facebook Share-Taste öffnet nicht Dialog in echten Android-Geräten
android:minSdkVersion="19"
android:targetSdkVersion="23"
Ich verwende Viewpager mit verschachtelten Fragmenten. Ich setze Share-Taste in Facebook mit der folgenden Funktion und ich habe eine benutzerdefinierte Schaltfläche zum Einchecken definiert, wenn der Benutzer klickt Check-in, ich mache einen Klick auf Facebook Share-Taste. Dieser Senario funktioniert erfolgreich im Emulator, der Share-Button öffnet einen Login-Dialog, wenn der Benutzer sich mit einem anderen Provider als Shares anmeldet. Wenn sich der Benutzer mit Facebook anmeldet, öffnet er direkt den Freigabe-Dialog. Aber in realen Geräten, Knopf Klick öffnet nicht eine Freigabe-Dialog, aber es versucht einen kleinen Bildschirm-Effekt, aber nichts erscheint, nur das aktuelle Fragment zeigt. Aber Bildschirm wird deaktiviert (wie etwas anderes auf dem Bildschirm), wenn ich die Zurück-Taste drücke, wird die Anwendung zum aktuellen Zustand und das aktuelle Fragment wird funktionsfähig. Ich habe eine Suche im Internet, aber ich kann keine Lösung finden. Jeder hat eine Idee.
checkinButtonAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isFacebook && facebookEnable.isChecked())
{
// Create an object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "restaurant.restaurant")
.putString("og:title", ((MainActivity) getActivity()).clickedRestaurantName)
.putString("og:description", uc.formCheckinText())
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("restaurant.visited")
.putObject("restaurant", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("restaurant")
.setAction(action)
.build();
facebookCheckinButton.setShareContent(content);
facebookCheckinButton.performClick();
}
}
});