我的应用只能加载用户设备上安装的游戏吗?

时间:2013-06-25 18:04:23

标签: android android-activity

我想我的应用程序应显示用户设备上安装的游戏列表。有可能吗? 我认为的一种方式是我会告诉用户在桌面上创建一个名为“gamesforXYZapp”的文件夹。现在我的应用程序可能会搜索此文件夹并在我的应用程序中显示放在该文件夹中的游戏吗? 还有其他办法吗?

2 个答案:

答案 0 :(得分:0)

在Android中,您无法将应用设置为"Game Type",因此您无法按此类别过滤应用。

我认为,解决此问题的方法是找到Google Play中的所有游戏包,并将该列表放入您的应用中并经常更新。它需要不间断的互联网连接,以便您可以将找到的应用列表发送到服务器,服务器将返回该列表中的游戏。所以,你需要为此编写服务器代码。

答案 1 :(得分:0)

如果您在平台上有“所有游戏”列表(如A-C那样),您可以使用PackageManager确定用户设备上安装了哪些应用程序,然后将该列表与“全部”匹配游戏名单。

这看起来像这样:

        List<String> allGames = //list of all games on device - not sure where you get this
        PackageManager packageManager = getPackageManager();
        List<ApplicationInfo> appsList;
        appsList = new ArrayList<ApplicationInfo>();
        appsList = packageManager.getInstalledApplications(0);

        Iterator<ApplicationInfo> it = appsList.iterator();

        while (it.hasNext()) {
                if (appName != null) {
                        ApplicationInfo value = (ApplicationInfo) it.next();
                        if (value != null) {
                                String appName2 = value.packageName;
                                if (appName2 != null) {
                                        // Check if this app is in the 'All Games' list
                                        if (allGames.contains(appName2) {
                                                // This is a game
                                        }

                                }
                        }
        }