z mojej aplikacji na Androida chciałbym otworzyć link do profilu na Facebooku w oficjalnej aplikacji na Facebooku (oczywiście jeśli aplikacja jest zainstalowana). W przypadku iPhone'a istnieje fb://
schemat adresu URL, ale próba tego samego na moim urządzeniu z Androidem powoduje wyświetlenie pliku ActivityNotFoundException
.
Czy jest szansa na otwarcie profilu na Facebooku w oficjalnej aplikacji Facebook z kodu?
android
facebook
url-scheme
Björn Marschollek
źródło
źródło
Odpowiedzi:
W wersji Facebooka 11.0.0.11.23 (3002850)
fb://profile/
ifb://page/
już nie działa. Rozkompilowałem aplikację Facebook i stwierdziłem, że możesz jej użyćfb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]
. Oto metoda, której używałem w produkcji:źródło
ActivityNotFoundException
Działa to w najnowszej wersji:
Użyj tej metody:
Spowoduje to otwarcie aplikacji Facebook, jeśli użytkownik ją zainstalował. W przeciwnym razie otworzy Facebooka w przeglądarce.
EDYCJA: od wersji 11.0.0.11.23 (3002850) aplikacja Facebook nie obsługuje już tego sposobu, jest inny sposób, sprawdź odpowiedź poniżej Jareda Rummlera.
źródło
Czy to nie jest łatwiejsze? Na przykład w onClickListener?
PS. Uzyskaj swój identyfikator (dużą liczbę) ze strony http://graph.facebook.com/[userName]
źródło
W przypadku strony na Facebooku:
Dla profilu na Facebooku:
... ponieważ żadna z odpowiedzi nie wskazuje na różnicę
Oba przetestowano z Facebookiem w wersji 27.0.0.24.15 i Androidem 5.0.1 na Nexusie 4
źródło
Oto sposób na zrobienie tego w 2016 roku, działa świetnie i jest bardzo łatwy.
Odkryłem to po sprawdzeniu, jak e-maile wysyłane przez Facebooka otwierają aplikację.
źródło
to jest najprostszy kod, który to robi
źródło
Podejście bardziej wielokrotnego użytku.
Jest to funkcja, której zwykle używamy w większości naszych aplikacji. Stąd tutaj jest fragment kodu wielokrotnego użytku, aby to osiągnąć.
(Podobnie jak w przypadku innych odpowiedzi dotyczących faktów. Opublikuj je tutaj, aby uprościć i umożliwić ponowne wykorzystanie implementacji)
"fb://page/
nie działa z nowszymi wersjami aplikacji FB. Powinieneś użyćfb://facewebmodal/f?href=
dla nowszych wersji. ( Jak wspomniano w innej odpowiedzi tutaj )To jest pełnoprawny działający kod, który obecnie znajduje się w jednej z moich aplikacji:
Ta metoda zwróci prawidłowy adres URL aplikacji, jeśli jest zainstalowana, lub adres internetowy, jeśli aplikacja nie jest zainstalowana.
Następnie rozpocznij intencję w następujący sposób:
To wszystko, czego potrzebujesz.
źródło
Zostało to odtworzone przez Pierre87 na forum FrAndroid , ale nie mogę znaleźć żadnego oficjalnego opisu, który by to opisał, więc musi być traktowany jako nieudokumentowany i może przestać działać w dowolnym momencie:
źródło
wypróbuj ten kod:
źródło
Aby to zrobić, potrzebujemy „identyfikatora strony na Facebooku”, możesz go pobrać:
Aby otworzyć aplikację Facebook na określonej stronie profilu,
możesz to zrobić:
Możesz też sprawdzić, czy aplikacja Facebook nie jest zainstalowana, a następnie otworzyć stronę internetową na Facebooku.
źródło
Page ID
na karcie Informacje. To jest prywatne?Po wielu testach znalazłem jedno z najbardziej skutecznych rozwiązań:
źródło
Moja odpowiedź opiera się na szeroko akceptowanej odpowiedzi od joaomgcd. Jeśli użytkownik ma zainstalowany Facebook, ale jest wyłączony (na przykład przy użyciu kwarantanny aplikacji), ta metoda nie zadziała. Zamiar aplikacji Twitter zostanie wybrany, ale nie będzie mógł go przetworzyć, ponieważ jest wyłączony.
Zamiast:
Możesz skorzystać z następujących opcji, aby zdecydować, co zrobić:
źródło
Najlepsza odpowiedź, jaką znalazłem, działa świetnie.
Po prostu przejdź do swojej strony na Facebooku w przeglądarce, kliknij prawym przyciskiem myszy i kliknij „Wyświetl kod źródłowy”, a następnie znajdź
page_id
atrybut: musisz użyćpage_id
tutaj w tym wierszu po ostatnim ukośniku:Na przykład:
źródło
Od marca 2020 działa to doskonale.
źródło
źródło
Od lipca 2018 działa to doskonale z aplikacją Facebook lub bez niej na wszystkich urządzeniach.
źródło
Stworzyłem metodę otwierania strony na Facebooku w aplikacji na Facebooku, jeśli aplikacja nie istnieje, otwieranie w chrome
Utils.class dodaje te metody
i to
źródło
Aby uruchomić stronę na Facebooku z Twojej aplikacji, pozwól urlString = "fb: // page / your_fb_page_id"
Aby uruchomić komunikator na Facebooku, pozwól urlString = "fb-messenger: // user / your_fb_page_id"
Identyfikator strony FB jest zwykle numeryczny. Aby go uzyskać, przejdź do funkcji Znajdź mój identyfikator FB, wprowadź adres URL swojego profilu, na przykład www.facebook.com/edgedevstudio, a następnie kliknij „Znajdź numeryczny identyfikator”.
Voila, masz teraz swój numeryczny identyfikator fb. zamień „your_fb_page_id” na wygenerowany numeryczny identyfikator
źródło
Zadeklaruj stałe
Zadeklaruj metodę
Funkcja połączenia
źródło
Odpowiadam w październiku 2018 r. Działający kod to ten, który używa identyfikatora strony. Właśnie go przetestowałem i działa.
źródło
Zaimplementowałem w tej formie w webview używając fragment- inside oncreate:
i na zewnątrz onCreateView:
źródło
otwórz fb po kliknięciu przycisku bez użycia facebook sdk
źródło
źródło
1-aby uzyskać identyfikator, przejdź do profilu obrazu i kliknij prawym przyciskiem myszy i skopiuj adres linku.
źródło
źródło
Możesz otworzyć aplikację Facebook po kliknięciu przycisku w następujący sposób: -
źródło