Android uygulamasından Facebook sayfasını açma?

Android uygulamamdan, resmi Facebook uygulamasındaki bir Facebook profiline bağlantı açmak istiyorum (tabii ki uygulama yüklüyse). iPhone için fb:// URL şeması mevcut, ancak aynı şeyi Android cihazımda denediğimde ActivityNotFoundException hatası alıyorum.

Resmi Facebook uygulamasında koddan bir Facebook profili açma şansı var mı?

Bu, en son sürümde çalışır:

  1. https://graph.facebook.com/ adresine gidin (örneğin https://graph.facebook.com/fsintents)

  2. Kimliğinizi kopyalayın

  3. Bu yöntemi kullanın:

     public static Intent getOpenFacebookIntent(Context context) {
    
        dene {
         context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
         return new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/"));
        } catch (Exception e) {
         return new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/"));
        }
     }

Bu, kullanıcının yüklü olması halinde Facebook uygulamasını açacaktır. Aksi takdirde, Facebook'u tarayıcıda açacaktır.

DÜZENLEME: 11.0.0.11.23 (3002850) sürümünden beri Facebook Uygulaması artık bu yolu desteklemiyor, başka bir yol var, Jared Rummler'in aşağıdaki yanıtını kontrol edin.

Yorumlar (20)

bu, bunu yapmak için en basit koddur

public final void launchFacebook() {
        final String urlFb = "fb://page/"+yourpageid;
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(urlFb));

        // If a Facebook app is installed, use it. Otherwise, launch
        // a browser
        final PackageManager packageManager = getPackageManager();
        List list =
            packageManager.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
        if (list.size() == 0) {
            final String urlBrowser = "https://www.facebook.com/pages/"+pageid;
            intent.setData(Uri.parse(urlBrowser));
        }

        startActivity(intent);
    }
Yorumlar (2)

Bu FrAndroid forumunda Pierre87 tarafından tersine mühendislikle geliştirilmiş, ancak bunu açıklayan resmi bir yer bulamıyorum, bu nedenle belgelenmemiş ve her an çalışmayı durdurma olasılığı varmış gibi davranılması gerekiyor:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.facebook.katana", "com.facebook.katana.ProfileTabHostActivity");
intent.putExtra("extra_user_id", "123456789l");
this.startActivity(intent);
Yorumlar (3)