首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何过滤安装在Android上的游戏?

如何过滤安装在Android上的游戏?
EN

Stack Overflow用户
提问于 2021-11-04 15:21:22
回答 1查看 44关注 0票数 3

Here介绍了如何使用PackageManager获取安卓上所有已安装应用的列表。

我想得到这个完整的列表,过滤所有安装的“游戏”。如何在所有已安装的应用程序中筛选“游戏”类别

EN

回答 1

Stack Overflow用户

发布于 2021-11-05 12:15:40

您需要解析每个应用程序网页以获得其流派,然后从应用程序流派中提取游戏流派。

您可以使用Jsoup Java HTML Parser,下面是示例代码

代码语言:javascript
运行
复制
public class MainActivity extends AppCompatActivity {

public final static String GOOGLE_URL = "https://play.google.com/store/apps/details?id=";
public static final String ERROR = "error";

...


   private class FetchCategoryTask extends AsyncTask<Void, Void, Void> {

       private final String TAG = FetchCategoryTask.class.getSimpleName();
       private PackageManager pm;
       private ActivityUtil mActivityUtil;

       @Override
       protected Void doInBackground(Void... errors) {
          String category;
           pm = getPackageManager();
           List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
           Iterator<ApplicationInfo> iterator = packages.iterator();
           while (iterator.hasNext()) {
               ApplicationInfo packageInfo = iterator.next();
               String query_url = GOOGLE_URL + packageInfo.packageName;
               Log.i(TAG, query_url);
               category = getCategory(query_url);
               // store category or do something else
           }
           return null;
        }


        private String getCategory(String query_url) {
           boolean network = mActivityUtil.isNetworkAvailable();
           if (!network) {
               //manage connectivity lost
               return ERROR;
           } else {
               try {
                   Document doc = Jsoup.connect(query_url).get();
                   Element link = doc.select("span[itemprop=genre]").first();
                   return link.text();
               } catch (Exception e) {
                   return ERROR;
               }
           }
        }
    }  
}

你会发现像这样的东西

代码语言:javascript
运行
复制
<a class="r2Osbf" href="/store/apps/category/GAME_RACING" title="Racing">Racing</a>
...
"applicationCategory":"GAME_RACING"

因此,如果该类别包含" game“文本,则它是一个游戏。

更新:查看此内容

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69841621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档