Ora

How to Get App Name in Android?

Published in Android App Information 5 mins read

Retrieving an app's name in Android can be done in several ways, whether you need the name of the currently running app, another installed app, or even an app listed in a store. This guide will provide practical methods for each scenario.

1. Getting the Current App's Name Programmatically

To obtain the name of your own application from within its code, you can leverage Android's PackageManager. This is useful for displaying the app's name in settings, about screens, or logs.

Using PackageManager and ApplicationInfo

The PackageManager provides access to application information. Each app has an ApplicationInfo object that contains details, including its label, which is typically the app's display name.

Steps:

  1. Get an instance of PackageManager from your Context.
  2. Use getApplicationInfo() and getApplicationLabel() to retrieve the app's display name.

Example Code:

import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;

public class AppNameUtil {

    public static String getCurrentAppName(Context context) {
        PackageManager packageManager = context.getPackageManager();
        try {
            // Get ApplicationInfo for the current package
            ApplicationInfo applicationInfo = packageManager.getApplicationInfo(
                context.getPackageName(), 0);

            // Return the localized application label
            return (String) packageManager.getApplicationLabel(applicationInfo);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return null; // Handle error appropriately
        }
    }
}

Usage:

// From an Activity or Service:
String appName = AppNameUtil.getCurrentAppName(this); 
if (appName != null) {
    System.out.println("Current App Name: " + appName);
}

2. Getting Names of Other Installed Apps Programmatically

If you need to list or retrieve the name of another application installed on the device, the PackageManager is again your primary tool. This is common for app launchers, task managers, or utilities that interact with other apps.

Listing All Installed Apps and Their Names

To get a list of all installed apps along with their names, you can query the PackageManager for all installed packages.

Steps:

  1. Get an instance of PackageManager.
  2. Call getInstalledApplications() to get a list of ApplicationInfo objects for all installed applications.
  3. Iterate through the list, using loadLabel() on each ApplicationInfo to get its display name.

Example Code:

import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import java.util.ArrayList;
import java.util.List;

public class InstalledAppsUtil {

    public static List<String> getAllInstalledAppNames(Context context) {
        List<String> appNames = new ArrayList<>();
        PackageManager packageManager = context.getPackageManager();

        // Get a list of all installed applications
        List<ApplicationInfo> applications = packageManager.getInstalledApplications(
            PackageManager.GET_META_DATA);

        for (ApplicationInfo appInfo : applications) {
            // Filter out system apps if needed (optional)
            // if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
                appNames.add((String) packageManager.getApplicationLabel(appInfo));
            // }
        }
        return appNames;
    }

    public static String getAppNameFromPackageName(Context context, String packageName) {
        PackageManager packageManager = context.getPackageManager();
        try {
            ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, 0);
            return (String) packageManager.getApplicationLabel(appInfo);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return null; // App not found
        }
    }
}

Usage:

// Get all installed app names
List<String> installedNames = InstalledAppsUtil.getAllInstalledAppNames(this);
for (String name : installedNames) {
    System.out.println("Installed App: " + name);
}

// Get specific app name by package name
String chromeAppName = InstalledAppsUtil.getAppNameFromPackageName(this, "com.android.chrome");
if (chromeAppName != null) {
    System.out.println("Chrome App Name: " + chromeAppName);
}

3. Identifying an App Name Externally (Without Code)

Sometimes, you need to find an app's name without writing any code, perhaps for linking purposes, ad campaigns, or general information.

From the Google Play Store URL

One of the easiest ways to identify an app's name and its unique identifier, the package name, is by looking at its Google Play Store URL.

How it works:

When you navigate to an app's page on the Google Play Store (either in a browser or through the app), the URL contains vital information. The app's display name is prominently shown, and its package name (which is unique) is part of the URL.

  • Example URL: https://play.google.com/store/apps/details?id=com.whatsapp
  • In this URL, the app's display name is "WhatsApp Messenger", and its package name (or app ID) is com.whatsapp.

This method is particularly useful when working with advertising platforms or other services that require you to link to a supported app store. The app's name, along with its ID or package name, is often automatically populated once you provide the store URL or link your app.

From Device Settings

You can also find an app's name directly on an Android device:

  1. Go to Settings.
  2. Navigate to Apps or Apps & notifications.
  3. Tap on See all apps (or similar wording).
  4. Browse or search for the desired app.
  5. Tap on the app to view its "App info" screen, where its name is clearly displayed at the top.

Summary of Methods

Here's a quick overview of the different ways to retrieve an Android app's name:

Method Use Case Requires Code External Source
PackageManager (Current App) Displaying own app name within the app Yes No
PackageManager (Other Apps) Listing or identifying other installed apps Yes No
Google Play Store URL Identifying app names/IDs for linking/ads No Yes
Android Device Settings Manual identification on the device No No

Understanding these methods ensures you can always get the app name you need, whether through programming or external sources.