npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@zecky-dev/react-native-app-list

v0.2.2

Published

Retrieves a list of all installed apps on an Android device and allows checking whether a specific app is installed.

Readme

@zecky-dev/react-native-app-list

This module offers a simple and efficient way to list all installed apps and check for a specific one on the Android platform.

Installation

npm install @zecky-dev/react-native-app-list

Android Permissions

To ensure this module works correctly on Android, you must add the following permission to your app's AndroidManifest.xml file. This permission is required to access the list of installed applications.

Open your android/app/src/main/AndroidManifest.xml file and add this line inside the <manifest> tag:

Add this permission:

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

Without this permission, the getInstalledApps and isAppInstalled methods may not return the expected results due to Android's package visibility restrictions.

Usage

1. Get All Installed Apps

This method returns a Promise that resolves to an array of AppInfo objects, where each object represents an installed application on the device.

import { getInstalledApps } from "@zecky-dev/react-native-app-list";
async function listInstalledApps() {
  try {
    const apps = await getInstalledApps(); /* : AppInfo[] */
    console.log("Installed Apps:", apps);
    // Example output for 'apps':
    // [
    //   { appName: "Google Chrome", packageName: "com.android.chrome" },
    //   { appName: "WhatsApp", packageName: "com.whatsapp" },
    //   // ... other installed apps
    // ]
  } catch (error) {
    console.error("Failed to get installed apps:", error);
  }
}
listInstalledApps();

AppInfo Type

type AppInfo = {
  appName: string; // The display name of the app (e.g., "Instagram")
  packageName: string; // The unique package name of the app (e.g., "com.instagram.android")
};

2. Check Installed App by Package Name

This method is used to check if a specific app is installed on the device. It returns a Promise<boolean> that resolves to true if the app is installed, and false otherwise.

import { isAppInstalled } from "@zecky-dev/react-native-app-list";
async function checkChromeInstallation() {
  try {
    // Check for the Google Chrome app using its package name
    const isInstalled = await isAppInstalled("com.android.chrome");

    if (isInstalled) {
      console.log("Google Chrome is installed on this device.");
    } else {
      console.log("Google Chrome is not installed on this device.");
    }
  } catch (error) {
    console.error("Error checking app installation:", error);
  }
}
checkChromeInstallation();

❓ How to Find an App's Package Name

You can find an app's package name directly from its Google Play Store URL. The package name is the part of the URL after ?id=.

For example:

Google Chrome: https://play.google.com/store/apps/details?id=com.android.chrome

Package Name: com.android.chrome

License

MIT – Do whatever you want with it, no warranty.