Über meine Android-App möchte ich einen Link zu einem Facebook-Profil in der offiziellen Facebook-App öffnen (sofern die App installiert ist, natürlich). Für das iPhone gibt es das fb://
URL-Schema, aber wenn ich dasselbe auf meinem Android-Gerät versuche, wird ein ActivityNotFoundException
.
Gibt es eine Möglichkeit, ein Facebook-Profil in der offiziellen Facebook-App aus Code zu öffnen?
android
facebook
url-scheme
Björn Marschollek
quelle
quelle
Antworten:
In Facebook Version 11.0.0.11.23 (3002850)
fb://profile/
undfb://page/
nicht mehr funktionieren. Ich habe die Facebook-App dekompiliert und festgestellt, dass Sie verwenden könnenfb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]
. Hier ist die Methode, die ich in der Produktion verwendet habe:quelle
ActivityNotFoundException
Dies funktioniert mit der neuesten Version:
Verwenden Sie diese Methode:
Dadurch wird die Facebook-App geöffnet, wenn der Benutzer sie installiert hat. Andernfalls wird Facebook im Browser geöffnet.
BEARBEITEN: Da die Facebook-App in Version 11.0.0.11.23 (3002850) diese Methode nicht mehr unterstützt, gibt es eine andere Möglichkeit. Überprüfen Sie die Antwort von Jared Rummler.
quelle
Ist das nicht einfacher? Zum Beispiel in einem onClickListener?
PS. Holen Sie sich Ihre ID (die große Anzahl) von http://graph.facebook.com/[userName]
quelle
Für Facebook-Seite:
Für Facebook-Profil:
... weil keine der Antworten auf den Unterschied hinweist
Beide wurden mit Facebook v.27.0.0.24.15 und Android 5.0.1 auf Nexus 4 getestet
quelle
Hier ist der Weg, dies 2016 zu tun, funktioniert großartig und ist sehr einfach.
Ich entdeckte dies, nachdem ich untersucht hatte, wie per Facebook gesendete E-Mails die App öffneten.
quelle
Dies ist der einfachste Code dafür
quelle
Ein wiederverwendbarerer Ansatz.
Dies ist eine Funktionalität, die wir normalerweise in den meisten unserer Apps verwenden. Daher ist hier ein wiederverwendbarer Code, um dies zu erreichen.
(Ähnlich wie bei anderen Antworten in Bezug auf Fakten. Hier veröffentlichen, um die Implementierung zu vereinfachen und wiederverwendbar zu machen.)
"fb://page/
funktioniert nicht mit neueren Versionen der FB-App. Sie solltenfb://facewebmodal/f?href=
für neuere Versionen verwenden. ( Wie in einer anderen Antwort hier erwähnt )Dies ist ein vollwertiger Arbeitscode, der derzeit in einer meiner Apps verfügbar ist:
Diese Methode gibt die richtige URL für die App zurück, wenn sie installiert ist, oder die Web-URL, wenn die App nicht installiert ist.
Starten Sie dann eine Absicht wie folgt:
Das ist alles was du brauchst.
quelle
Dies wurde von Pierre87 im FrAndroid-Forum rückentwickelt , aber ich kann keinen offiziellen Vertreter finden, der es beschreibt. Daher muss es als undokumentiert behandelt werden und kann jederzeit aufhören zu arbeiten:
quelle
Versuchen Sie diesen Code:
quelle
Dazu benötigen wir die "Facebook-Seiten-ID", die Sie erhalten können:
Um die Facebook-App auf der angegebenen Profilseite zu öffnen,
du kannst das:
Oder Sie können überprüfen, ob die Facebook-App nicht installiert ist, und dann die Facebook-Webseite öffnen.
quelle
Page ID
auf der Registerkarte "Über" nicht gesehen. Es ist privat?Nach vielen Tests habe ich eine der effektivsten Lösungen gefunden:
quelle
Meine Antwort baut auf der allgemein akzeptierten Antwort von joaomgcd auf. Wenn der Benutzer Facebook installiert, aber deaktiviert hat (z. B. mithilfe der App-Quarantäne), funktioniert diese Methode nicht. Die Absicht für die Twitter-App wird ausgewählt, kann sie jedoch nicht verarbeiten, da sie deaktiviert ist.
Anstatt:
Sie können Folgendes verwenden, um zu entscheiden, was zu tun ist:
quelle
Beste Antwort, die ich gefunden habe, es funktioniert großartig.
Gehen Sie einfach im Browser auf Ihre Facebook-Seite, klicken Sie mit der rechten Maustaste und klicken Sie auf "Quellcode anzeigen". Suchen
page_id
Sie dann das Attribut: Sie müssen espage_id
hier in dieser Zeile nach dem letzten Schrägstrich verwenden:Beispielsweise:
quelle
Ab März 2020 funktioniert dies einwandfrei.
quelle
quelle
Ab Juli 2018 funktioniert dies perfekt mit oder ohne die Facebook-App auf allen Geräten.
quelle
Ich habe eine Methode zum Öffnen der Facebook-Seite in der Facebook-App erstellt. Wenn die App nicht vorhanden ist, wird sie in Chrome geöffnet
Utils.class fügt diese Methode hinzu
und das
quelle
Um die Facebook-Seite von Ihrer App aus zu starten , lassen Sie urlString = "fb: // page / your_fb_page_id"
Um den Facebook Messenger zu starten, lassen Sie urlString = "fb-messenger: // user / your_fb_page_id"
Die FB-Seiten-ID ist normalerweise numerisch. Um es zu bekommen, gehen Sie zu Find My FB ID und geben Sie Ihre Profil-URL ein, etwa www.facebook.com/edgedevstudio suchen und klicken Sie dann auf "Nummer suchen".
Voila, du hast jetzt deine fb numerische ID. Ersetzen Sie "your_fb_page_id" durch die generierte numerische ID
quelle
Konstanten deklarieren
Methode deklarieren
Funktion aufrufen
quelle
Beantwortung dieser Frage im Oktober 2018. Der Arbeitscode verwendet die pageID. Ich habe es gerade getestet und es ist funktionsfähig.
quelle
Ich habe in diesem Formular in der Webansicht mit fragment-inside oncreate implementiert:
und außerhalb von onCreateView:
quelle
Öffnen Sie das Ereignis fb on button click, ohne Facebook SDK zu verwenden
quelle
quelle
1-um Ihre ID zu erhalten, gehen Sie zu Ihrem Bildprofil und klicken Sie mit der rechten Maustaste und nehmen Sie die Linkadresse zum Kopieren.
quelle
quelle
Sie können die Facebook-App auf Knopfdruck wie folgt öffnen: -
quelle