Programmatically check if Facebook is installed on Android device


Programmatically check if Facebook is installed on Android device

One might be working on an Android application and integrating it with Facebook to share a story, image or a game point scored, to do that the first thing that you would like to know is if Facebook is really installed on the device or not.

⛏️ com.facebook.katana is the package name for the Facebook app on Android.

Let's see how we can do this by creating a single java method,

  • Create a method say isFacebookInstalled() that returns a boolean.
  • Get the PackageManager instance using getPackageManager()
  • Now declare a boolean flag and set it to false by default.
  • In a try and catch block look for the package for Facebook: com.facebook.katana
  • If it throws an exception then we do not have this package installed, just turn a false in this case.

You can create a method as below and check if the user has Facebook installed or not,

public Boolean checkFbInstalled() {
   PackageManager pm = getPackageManager();
   boolean flag = false;
    try {
     pm.getPackageInfo("com.facebook.katana", PackageManager.GET_ACTIVITIES);
     flag = true;
   } catch (PackageManager.NameNotFoundException e) {
      flag = false;
  }
   return flag;
 }

⛏️ Facebook is known via various package names as well, you can try using one of these,

  • com.example.facebook
  • com.facebook.katana
  • com.facebook.orca
  • com.facebook.android

⚠️ If you are integrating Facebook SDK with your application you may really not need to do this as the SDK framework can handle this.