Mai mult
Deschide Facebook pagina de app Android?
de la meu app Android, aș dori pentru a deschide link-ul de la un Facebook de profil în monitorul oficial Facebook app (dacă aplicația este instalată, desigur). Pentru iPhone, există fb://sistem URL-ul, dar încearcă același lucru pe dispozitivul meu Android aruncă o
ActivityNotFoundException`.
Există o șansă de a deschide Facebook profil în monitorul oficial Facebook app de cod?
154
26
Aceasta funcționează pe cea mai recentă versiune:
public static Intenția getOpenFacebookIntent(Context Context) {
try { context.getPackageManager().getPackageInfo("com.facebook.katana", 0); să se întoarcă de noi Intenția(Intenție.ACTION_VIEW, Uri.analiza("fb://page/")); } catch (exception e) { să se întoarcă de noi Intenția(Intenție.ACTION_VIEW, Uri.analiza("https://www.facebook.com/")); } }
Aceasta va deschide Facebook app în cazul în care utilizatorul a instalat. În caz contrar, se va deschide Facebook în browser-ul.
EDIT: începând cu versiunea 11.0.0.11.23 (3002850) Facebook App nu acceptă acest mod, nu's un alt mod, bifați răspunsul de mai jos de la Jared Rummler.
În Facebook versiune 11.0.0.11.23 (3002850)
fb://profilul/ " și " fb://page/
să nu mai funcționeze. Am decompilat de Facebook app și a constatat că puteți folosi fb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]`. Aici este metoda am folosit în producție:Nu este acest lucru mai ușor? De exemplu, în onClickListener?
PS. Ia id-ul dvs. (în număr mare) de la http://graph.facebook.com/[nume de utilizator]
Pentru Facebook page:
Pentru Facebook profil:
...pentru că nici unul dintre răspunsurile de puncte diferenta
Ambele testate cu Facebook v. 27.0.0.24.15 și Android 5.0.1 pe Nexus 4
Aici's pe cale să-l facă în 2016, mare de lucrări, și este foarte ușor.
Am descoperit acest lucru după ce se uită în modul e-mailuri trimise prin facebook deschis aplicația.
acesta este cel mai simplu cod pentru a face acest lucru
O mai reutilizabile abordare.
Aceasta este o funcționalitate vom folosi, în general, în cele mai multe dintre aplicații noastre. Prin urmare, aici este o reutilizabile bucată de cod pentru a realiza acest lucru.
(Similar cu alte răspunsuri în termeni de fapte. Postează aici doar pentru a simplifica și de a face punerea în aplicare reutilizabile)
"fb://page/
nu funcționează cu versiuni mai noi a aplicației FB. Ar trebui să utilizați fb://facewebmodal/f?href=` pentru versiunile mai noi. (Cum a menționat într-un alt răspuns aici)Aceasta este o cu drepturi depline de lucru cod trăiesc în prezent într-una dintre aplicațiile mele:
Această metodă se va întoarce url-ul corect pentru aplicația dacă este instalat sau url-ul web dacă aplicația nu este instalată.
Apoi începe o intenție, după cum urmează:
Ca's tot ce ai nevoie.
"fb://page/
nu funcționează cu versiuni mai noi a aplicației FB. Ar trebui să utilizați fb://facewebmodal/f?href=` pentru versiunile mai noi.Aceasta este o cu drepturi depline de lucru cod:
Această metodă se va întoarce url-ul corect pentru aplicația dacă este instalat sau url-ul web dacă aplicația nu este instalată.
Apoi începe o intenție, după cum urmează:
Aceasta a fost inginerie inversă, de Pierre87 pe FrAndroid forum, dar nu pot't găsi oriunde în altă oficial care descrie, așa că's trebuie să fie tratate ca acte de natură a opri de lucru în orice moment:
incearca codul asta:
Pentru a face acest lucru avem nevoie de "Facebook pagina id-ul", puteți să-l obține :
Pentru deschiderea facebook app specificate pe pagina de profil,
puteți face acest lucru:
Sau puteți valida atunci când facebook app nu este instalat, apoi deschideți facebook pagina web.
După multe teste, am găsit una dintre cele mai eficiente solutii:
Cel mai bun răspuns l-am găsit, l's mare lucru.
Doar du-te la pagina dvs. de pe Facebook în browser-ul, faceți clic dreapta și faceți clic pe "Vezi codul sursă", apoi găsi
page_id
atribut: trebuie să utilizați `page_id aici, în această linie, după ultimul back-slash:De exemplu:
Răspunsul meu se bazează pe partea de sus a acceptat pe scară largă răspuns de la joaomgcd. Dacă utilizatorul are Facebook instalat, dar cu dizabilități (de exemplu, prin utilizarea App Carantină), această metodă nu va funcționa. Intenția de Twitter app va fi selectat, dar acesta nu va fi capabil de a procesa ca este dezactivat.
În loc de:
Puteți utiliza următoarele pentru a decide ce să facă:
Ca de iulie 2018 aceasta funcționează perfect cu sau fără Facebook app pe toate dispozitivele.
Am creat o metodă pentru a deschide facebook, pagina în facebook app, dacă aplicația nu este deja existente atunci se deschid în chrome
Utils.class adăugați aceste metode
și asta
Declara constante
Declara Metoda
Funcția De Apel
Pentru a lansa facebook page din aplicația, să urlString = "fb://page/your_fb_page_id"
Pentru a lansa facebook messenger să urlString = "fb-messenger:/user/your_fb_page_id"
FB cu id-ul paginii este de obicei numerică. Pentru a obține aceasta, goto - Mi Găsesc FB ID intrare url-ul profilului tău, ceva de genul www.facebook.com/edgedevstudio apoi faceți clic pe "Găsi Numerice ID".
Voila, acum ai fb-id numeric. înlocuiți "your_fb_page_id" cu generate ID Numeric