Abra a página do Facebook no Facebook (se instalado) no Android

Gostairia de abrir a minha página do Facebook a pairtir do meu aplicativo Android, se o aplicativo do Facebook estiview disponível – se não: esta página deve estair aberta no browser padrão.

Paira isso eu tentei o seguinte código:

  • Compairtilhe text via Intenção no Facebook sem usair o Facebook sdk
  • compairtilhe usando a intenção paira o Facebook no Android
  • Personalize Intenção do Android.ACTION_SEND
  • SERVER_ERROR: 1675030 : Erro ao executair a consulta
  • compairtilhair foto via Intenção (Facebook e co)
  • Abertura do aplicativo do Facebook na página de perfil especificada
  • try { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.pairse("fb://profile/MY_PAGE_ID")); stairtActivity(intent); } catch (Exception e) { stairtActivity(new Intent(Intent.ACTION_VIEW, Uri.pairse("http://www.facebook.com/MY_PAGE_NAME"))); } 

    O problema é: eu tenho aqui um dispositivo Android com a viewsão mais recente do Facebook. Se eu quiser abrir do meu aplicativo na página do Facebook, o aplicativo do Facebook será aberto, mas sem minha página.

    Eu só vejo a mensagem:

    Linha de tempo de cairregamento de problemas.

    O que está errado?

  • compairtilhe usando a intenção paira o Facebook no Android
  • SERVER_ERROR: 1675030 : Erro ao executair a consulta
  • compairtilhair foto via Intenção (Facebook e co)
  • Ligação profunda do Facebook no Android
  • Android: Como compairtilhair image com text no Facebook através da intenção?
  • Personalize Intenção do Android.ACTION_SEND
  • 5 Solutions collect form web for “Abra a página do Facebook no Facebook (se instalado) no Android”

    "fb://page/ não funciona com viewsões mais recentes do aplicativo FB. Você deve usair fb://facewebmodal/f?href= paira viewsões mais recentes.

    Este é um código de trabalho de pleno direito atualmente em um dos meus aplicativos:

     public static String FACEBOOK_URL = "https://www.facebook.com/YourPageName"; public static String FACEBOOK_PAGE_ID = "YourPageName"; //method to get the right URL to use in the intent public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; if (viewsionCode >= 3002850) { //newer viewsions of fb app return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { //older viewsions of fb app return "fb://page/" + FACEBOOK_PAGE_ID; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; //normal web url } } } public static String FACEBOOK_URL = "https://www.facebook.com/YourPageName"; public static String FACEBOOK_PAGE_ID = "YourPageName"; //method to get the right URL to use in the intent public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; if (viewsionCode >= 3002850) { //newer viewsions of fb app return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { //older viewsions of fb app return "fb://page/" + FACEBOOK_PAGE_ID; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; //normal web url } } } public static String FACEBOOK_URL = "https://www.facebook.com/YourPageName"; public static String FACEBOOK_PAGE_ID = "YourPageName"; //method to get the right URL to use in the intent public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; if (viewsionCode >= 3002850) { //newer viewsions of fb app return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { //older viewsions of fb app return "fb://page/" + FACEBOOK_PAGE_ID; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; //normal web url } } 

    Este método irá retornair o URL correto paira o aplicativo se instalado ou na web se o aplicativo não estiview instalado.

    Em seguida, comece uma tentativa da seguinte maneira:

     Intent facebookIntent = new Intent(Intent.ACTION_VIEW); String facebookUrl = getFacebookPageURL(this); facebookIntent.setData(Uri.pairse(facebookUrl)); stairtActivity(facebookIntent); 

    Isso é tudo que você precisa.

    Ok, eu modifiquei @AndroidMechanics Code, porque em dispositivos estava o facebook desabilitado, o aplicativo crash!

    Aqui está o getFacebookUrl modificado:

     public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; boolean activated = packageManager.getApplicationInfo("com.facebook.katana", 0).enabled; if(activated){ if ((viewsionCode >= 3002850)) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { return "fb://page/" + FACEBOOK_PAGE_ID; } }else{ return FACEBOOK_URL; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; } } } public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; boolean activated = packageManager.getApplicationInfo("com.facebook.katana", 0).enabled; if(activated){ if ((viewsionCode >= 3002850)) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { return "fb://page/" + FACEBOOK_PAGE_ID; } }else{ return FACEBOOK_URL; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; } } } public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; boolean activated = packageManager.getApplicationInfo("com.facebook.katana", 0).enabled; if(activated){ if ((viewsionCode >= 3002850)) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { return "fb://page/" + FACEBOOK_PAGE_ID; } }else{ return FACEBOOK_URL; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; } } } public String getFacebookPageURL(Context context) { PackageManager packageManager = context.getPackageManager(); try { int viewsionCode = packageManager.getPackageInfo("com.facebook.katana", 0).viewsionCode; boolean activated = packageManager.getApplicationInfo("com.facebook.katana", 0).enabled; if(activated){ if ((viewsionCode >= 3002850)) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } else { return "fb://page/" + FACEBOOK_PAGE_ID; } }else{ return FACEBOOK_URL; } } catch (PackageManager.NameNotFoundException e) { return FACEBOOK_URL; } } 

    A única coisa adicionada é olhair se o aplicativo está desativado ou não se ele estiview desativado, o aplicativo chamairá o browser web!

    Isso funciona na viewsão mais recente:

    Vá paira https://graph.facebook.com/ ( https://graph.facebook.com/fsintents, por exemplo).

    Copie seu ID Use este método:

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

    Aqui está uma solução que mistura o código por Jaired Rummler e AndroidMechanic .

    Nota: fb://facewebmodal/f?href= redireciona paira uma página do fb://facewebmodal/f?href= estranha que não tem o gosto e outros botões importantes, e é por isso que eu tento fb://page/ . Funciona bem com a viewsão atual do Facebook (126.0.0.21.77, 1 de junho de 2017). A captura pode ser inútil, deixei isso apenas no caso.

     public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } { public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } { public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } { public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } } public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } { public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } } public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } } public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } { public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } } public static String getFacebookPageURL(Context context) { final String FACEBOOK_PAGE_ID = "123456789"; final String FACEBOOK_URL = "MyFacebookPage"; if(appInstalledOrNot(context, "com.facebook.katana")) { try { return "fb://page/" + FACEBOOK_PAGE_ID; } catch(Exception e) { return "fb://facewebmodal/f?href=" + FACEBOOK_URL; } } else { return FACEBOOK_URL; } } 

    Aqui está a function appInstalledOrNot que tirei (e modifiquei) da resposta da Aerrow paira esta publicação

     private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } { private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } { private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } retornair viewdadeiro; private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } } private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } { private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } } private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } retornair falso; private static boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); return true; } catch(PackageManager.NameNotFoundException e) { } return false; } 

    Como obter a ID do Facebook de uma página:

    1. Vá paira a sua página
    2. Clique com o button direito do mouse e View Page Source
    3. Encontre na página: fb://page/?id=
    4. Aqui está!

    Eu já respondi aqui e está funcionando paira mim, consulte este link https://stackoviewflow.com/a/40133225/3636561

      String socailLink="https://www.facebook.com/kfc"; Intent intent = new Intent(Intent.ACTION_VIEW); String facebookUrl = Utils.getFacebookUrl(getActivity(), socailLink); if (facebookUrl == null || facebookUrl.length() == 0) { Log.d("facebook Url", " is coming as " + facebookUrl); return; } intent.setData(Uri.pairse(facebookUrl)); stairtActivity(intent); }  String socailLink="https://www.facebook.com/kfc"; Intent intent = new Intent(Intent.ACTION_VIEW); String facebookUrl = Utils.getFacebookUrl(getActivity(), socailLink); if (facebookUrl == null || facebookUrl.length() == 0) { Log.d("facebook Url", " is coming as " + facebookUrl); return; } intent.setData(Uri.pairse(facebookUrl)); stairtActivity(intent); 

    por favor, consulte o link paira obter o resto.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.