Packagename установленных приложений - PullRequest
0 голосов
/ 04 мая 2020

Я хочу работать на app, похожем на Просмотр имени пакета 2.0 , который может загрузить packagenames всех установленных приложений в device. На самом деле я много об этом искал, даже обсуждал со старшими и даже пытался связаться с владельцем Package Name Viewer 2.0 , но не получил ответа. Я не прошу писать весь код, просто одолжение, как я могу достичь этого.

Вкратце: я хочу добавить код в onCreate(), который при каждом запуске приложения должен загружать все packagenames установленных приложений.

Вопрос по теме: Как получить имя пакета из любого места?

1 Ответ

0 голосов
/ 05 мая 2020

Используйте PackageManager для извлечения ApplicationInfo всех приложений.

 public static List<App> getAllAppInstalled(Context context) {
    PackageManager packageManager = context.getPackageManager();
    List<App> apps = new ArrayList<>();
    List<ApplicationInfo> packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);

    for (ApplicationInfo packageInfo : packages) {
        String applicationName = ((packageInfo != null) ? packageManager.getApplicationLabel(packageInfo) : "Unknown").toString();
        if (packageInfo.enabled) {
            apps.add(new App(applicationName, packageInfo.packageName));
        }
    }

    return apps;
}

Класс приложения должен выглядеть следующим образом:

public class App {
private String appName;
private String appPackage;

public App(String appName, String appPackage) {
    this.appName = appName;
    this.appPackage = appPackage;
}
//getters and setters
}
...