Buka Facebook page dari aplikasi Android?
dari Android app, saya ingin membuka sebuah link ke Facebook profil resmi Facebook app (jika aplikasi diinstal, tentu saja). Untuk iPhone, ada fb://
skema URL, tapi mencoba hal yang sama pada perangkat Android saya melempar ActivityNotFoundException
.
Apakah ada kesempatan untuk membuka Facebook profil resmi Facebook app code?
154
26
Ini bekerja pada versi terbaru:
public static Maksud getOpenFacebookIntent(Context context) {
try { konteks.getPackageManager().getPackageInfo("com.facebook.katana", 0); kembali new Intent(Intent.ACTION_VIEW, Uri.mengurai("fb://halaman/")); } catch (Exception e) { kembali new Intent(Intent.ACTION_VIEW, Uri.mengurai("https://www.facebook.com/")); } }
Ini akan membuka Facebook aplikasi jika pengguna telah diinstal. Jika tidak, itu akan membuka Facebook di browser.
EDIT: sejak versi 11.0.0.11.23 (3002850) Facebook Aplikasi tidak support dengan cara ini lagi, ada's cara lain, memeriksa respon di bawah ini dari Jared Rummler.
Di Facebook versi 11.0.0.11.23 (3002850)
fb://profil/
danfb://halaman/
tidak lagi bekerja. Saya decompiled dengan Facebook app dan menemukan bahwa anda dapat menggunakanfb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]
. Berikut ini adalah metode yang saya telah menggunakan dalam produksi:Ini tidak mudah? Misalnya dalam onClickListener?
PS. Dapatkan id anda (jumlah besar) dari http://graph.facebook.com/[userName]
Untuk Facebook page:
Untuk Facebook profile:
...karena tidak ada jawaban yang menunjukkan perbedaan
Kedua diuji dengan Facebook v. 27.0.0.24.15 dan Android 5.0.1 pada Nexus 4
Berikut ini's cara untuk melakukannya pada tahun 2016, karya besar, dan sangat mudah.
Saya menemukan ini setelah melihat ke dalam bagaimana email yang dikirim oleh facebook membuka aplikasi.
ini adalah kode sederhana untuk melakukan hal ini
Lebih pendekatan yang dapat digunakan kembali.
Ini adalah fungsi umum yang kita gunakan di sebagian besar aplikasi kita. Oleh karena itu berikut ini adalah reusable potongan kode untuk mencapai hal ini.
(Mirip dengan jawaban yang lain dalam hal untuk fakta-fakta. Posting disini hanya untuk menyederhanakan dan membuat implementasi yang dapat digunakan kembali)
"fb://halaman/
tidak bekerja dengan versi yang lebih baru dari aplikasi FB. Anda harus menggunakanfb://facewebmodal/f?href=
untuk versi yang lebih baru. (Seperti yang disebutkan dalam jawaban lain berikut)Ini adalah penuh kerja kode saat ini tinggal di salah satu aplikasi saya:
Metode ini akan mengembalikan url yang benar untuk aplikasi jika dipasang di web atau url jika aplikasi tidak diinstal.
Kemudian mulai maksud sebagai berikut:
Yang's semua yang anda butuhkan.
"fb://halaman/
tidak bekerja dengan versi yang lebih baru dari aplikasi FB. Anda harus menggunakanfb://facewebmodal/f?href=
untuk versi yang lebih baru.Ini adalah penuh kerja kode:
Metode ini akan mengembalikan url yang benar untuk aplikasi jika dipasang di web atau url jika aplikasi tidak diinstal.
Kemudian mulai maksud sebagai berikut:
Ini telah reverse-engineered by Pierre87 di forum FrAndroid, tapi aku bisa't menemukan tempat resmi yang menjelaskan hal itu, jadi itu's telah diperlakukan sebagai tidak berdokumen dan bertanggung jawab untuk berhenti bekerja setiap saat:
coba kode ini:
Untuk melakukan hal ini kita perlu "Facebook page id", anda bisa mendapatkannya :
Untuk membuka facebook app ditentukan pada halaman profil,
anda dapat melakukan ini:
Atau anda dapat memvalidasi ketika facebook app tidak diinstal, kemudian buka facebook halaman web.
Setelah banyak pengujian saya telah menemukan salah satu solusi yang paling efektif:
Jawaban terbaik yang saya telah menemukan, it's bekerja besar.
Hanya pergi ke halaman anda di Facebook pada browser, klik kanan, dan klik pada "View source code", kemudian menemukan
page_id
atribut: anda harus menggunakanpage_id
di sini di baris ini setelah terakhir back-slash:Misalnya:
Jawaban saya dibangun di atas luas-jawaban yang diterima dari joaomgcd. Jika pengguna Facebook yang diinstal tapi dinonaktifkan (misalnya dengan menggunakan Aplikasi Karantina), metode ini tidak akan bekerja. Maksud untuk aplikasi Twitter akan dipilih tapi itu tidak akan mampu untuk proses seperti itu dinonaktifkan.
Bukannya:
Anda dapat menggunakan berikut untuk memutuskan apa yang harus dilakukan:
Sebagai juli 2018 ini bekerja sempurna dengan atau tanpa Facebook aplikasi pada semua perangkat.
Saya telah menciptakan sebuah metode untuk membuka facebook ke halaman facebook aplikasi, jika aplikasi ini tidak ada maka pembukaan di chrome
Utils.class tambahkan metode ini
dan ini
Mendeklarasikan konstanta
Menyatakan Metode
Fungsi Panggilan
Untuk peluncuran facebook page dari aplikasi anda, biarkan urlString = "fb://halaman/your_fb_page_id"
Untuk peluncuran facebook messenger biarkan urlString = "fb-messenger://user/your_fb_page_id"
Halaman FB id biasanya numerik. Untuk mendapatkan itu, goto Menemukan FB ID masukan url profil anda, sesuatu seperti www.facebook.com/edgedevstudio kemudian klik "Menemukan Numberic ID".
Voila, sekarang anda memiliki fb id numerik. ganti "your_fb_page_id" dengan yang dihasilkan ID Numerik