Cómo comprobar si Facebook está instalado Android

Estoy modificando mi aplicación para poder capturar si un usuario intenta publicar sin tener instalada la aplicación de Facebook (necesaria para SSO). Aquí está el código que estoy usando:

try{ ApplicationInfo info = getPackageManager(). getApplicationInfo("com.facebook.android", 0 ); return true; } catch( PackageManager.NameNotFoundException e ){ return false; } 

El problema es que siempre se está detectando un error. De acuerdo con la pregunta aquí , necesito solicitar el permiso apropiado, pero no sé qué permisos necesito solicitar.

¿Es mi problema un permiso o algo más?

6 Solutions collect form web for “Cómo comprobar si Facebook está instalado Android”

Com.facebook.android es el nombre del paquete para el SDK de Facebook. La aplicación de Facebook es com.facebook.katana.

Para comprobar cualquier aplicación instalada en android o no use este método:

 public static boolean isPackageExisted(Context c, String targetPackage) { PackageManager pm = c.getPackageManager(); try { PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA); } catch (NameNotFoundException e) { return false; } return true; } 

En su caso utilice cualquiera de los paquetes

  • Com.facebook.orca
  • Com.facebook.katana
  • Com.example.facebook
  • Com.facebook.android

Boolean hasPackage = isPackageExisted (MainActivity.this, "com.facebook.katana")

Espero que te ayude.

El mejor acercamiento es elegir el nombre del paquete incluyendo com.facebook pero de todos modos usted puede utilizar paquetes siguientes:

  • Com.facebook.orca
  • Com.facebook.katana
  • Com.example.facebook
  • Com.facebook.android

Escribir la función en utilidades o cualquier lugar traje para you.This funcionará le ayudará a comprobar cualquier aplicación instalada o not.let me decir por mí mismo que está en Utilities.java

 public static boolean isAppInstalled(Context context, String packageName) { try { context.getPackageManager().getApplicationInfo(packageName, 0); return true; } catch (PackageManager.NameNotFoundException e) { return false; } } 

Luego, llame a esta función desde cualquier lugar. Por ejemplo, para comprobar la aplicación facebook

 if(Utilities.isAppInstalled(getApplicationContext(), "com.facebook.katana")) { // Do something }else { Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.facebook.katana")); startActivity(i); } 

Disfrutar

  if (isAppInstalled()) { Toast.makeText(getApplicationContext(), "facebook app already installed", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "facebook app not installing", Toast.LENGTH_SHORT).show(); } public boolean isAppInstalled() { try { getApplicationContext().getPackageManager().getApplicationInfo("com.facebook.katana", 0); return true; } catch (PackageManager.NameNotFoundException e) { return false; } } 
 Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.facebook.katana")); startActivity(i); 

Este código funcionó para mí

  • deshabilitar el paquete que instala mediante programación
  • BroadcastReceiver en las nuevas instalaciones de la aplicación
  • Averigua si la aplicación está instalada
  • Poner un mapa de bits en un paquete
  • Cómo crear una clave de licencia como descargable y comprobarlo en Android
  • Crea un objeto java personalizado Parcelable en Android
  • Pasar la lista personalizada de datos mediante el paquete
  • Problemas al enviar el paquete con PendingIntent a un receptor de difusión, datos perdidos
  • Serialización de objetos para una nueva actividad
  • ¿Se ha utilizado erróneamente un nombre de paquete mixto en una aplicación ya implementada? ¿Puedo cambiarlo a minúsculas?
  • Paquete de análisis desde la notificación de android push
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.