gpt4 book ai didi

android - 如何获取 Android 设备上每个应用程序的类别?

转载 作者:行者123 更新时间:2023-12-01 17:08:24 25 4
gpt4 key购买 nike

我有一个 Android 应用程序,它会扫描设备上安装的所有应用程序,然后将其报告给服务器(它是 MDM 代理)。关于如何获取应用程序的类别有什么建议吗?每个人都有不同的类别列表,但基本上都是游戏、娱乐、工具/实用程序等。

据我所知,设备本身没有存储与类别相关的内容。我正在考虑使用android market API来搜索市场中的应用程序并使用搜索返回的Category值。不确定这会成功找到匹配项。关于如何最好地做到这一点有什么建议吗?

对不同方法有什么建议吗?

提前致谢。麦克

最佳答案

我知道这是一篇旧帖子,但对于仍在寻找此内容的人来说,API 级别 26 (O) 已向 android.content.pm.ApplicationInfo 添加了类别。

来自文档 https://developer.android.com/reference/android/content/pm/ApplicationInfo#category :

public int category

The category of this app. Categories are used to cluster multiple apps together into meaningful groups, such as when summarizing battery, network, or disk usage. Apps should only define this value when they fit well into one of the specific categories.

Set from the R.attr.appCategory attribute in the manifest. If the manifest doesn't define a category, this value may have been provided by the installer via PackageManager#setApplicationCategoryHint(String, int). Value is CATEGORY_UNDEFINED, CATEGORY_GAME, CATEGORY_AUDIO, CATEGORY_VIDEO, CATEGORY_IMAGE, CATEGORY_SOCIAL, CATEGORY_NEWS, CATEGORY_MAPS, or CATEGORY_PRODUCTIVITY

现在可以执行以下操作:

PackageManager pm = context.getPackageManager();
ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, 0);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
int appCategory = applicationInfo.category;
String categoryTitle = (String) ApplicationInfo.getCategoryTitle(context, appCategory)
// ...
}

关于android - 如何获取 Android 设备上每个应用程序的类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61444936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com