Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
//License from project: Apache License 

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

import java.util.ArrayList;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main {
    /**
     * Get the installed app list.
     * 
     * @param  context context
     * @return         app list
     */
    public static List<Map<String, String>> getAppList(Context context) {
        List<Map<String, String>> appList = new ArrayList<>();

        PackageManager pm = context.getPackageManager();
        List<PackageInfo> packages = pm.getInstalledPackages(0);
        for (int i = 0; i < packages.size(); i++) {
            PackageInfo packageInfo = packages.get(i);
            /* not system app */
            if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
                Map<String, String> res = new HashMap<>();
                ApplicationInfo appInfo = packageInfo.applicationInfo;
                res.put(appInfo.packageName, (String) pm.getApplicationLabel(appInfo));
                appList.add(res);
            }
        }

        return appList;
    }
}