You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android系统中仅筛选出已安装的游戏类应用?

Android 筛选已安装游戏类应用的实现方法

实现步骤

  • 首先通过PackageManager获取全量已安装应用的ApplicationInfo列表,示例代码如下:
val packageManager = context.packageManager
// 获取所有已安装应用信息,携带元数据参数避免遗漏配置信息
val allInstalledApps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA)
  • 对全量应用列表进行过滤,Android 8.0(API 26)及以上系统可以直接用官方提供的应用类别字段筛选:
val gameAppList = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    allInstalledApps.filter { appInfo ->
        // 官方定义的游戏类别常量
        appInfo.category == ApplicationInfo.CATEGORY_GAME
    }
} else {
    // 低于API 26的系统无统一官方应用分类,可选择以下兼容方案:
    // 方案1:筛选适配了Android TV的游戏应用,仅覆盖部分支持TV端的游戏
    allInstalledApps.filter { appInfo ->
        val leanbackIntent = Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LEANBACK_LAUNCHER)
        packageManager.queryIntentActivities(leanbackIntent, 0).any { activityInfo ->
            activityInfo.activityInfo.packageName == appInfo.packageName
        }
    }
    // 方案2:接入第三方应用分类库/自建游戏包名名单,通过包名匹配游戏类应用
}

注意事项

  • 低版本系统没有官方统一的应用类别标识,兼容方案存在一定的误判、漏判可能,可根据业务场景调整判断逻辑
  • 如果产品仅在国内运营,也可结合国内应用商店公开的游戏包名录做二次校验,提升筛选准确率

内容的提问来源于stack exchange,提问作者Ralf Wickum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:27:06