我想构建一个安装在我的Android设备上的应用程序列表。我也想在我的列表中保存我的应用程序的使用类别。
所以举个例子。我可以看到我有多少“游戏”应用程序等。
我已经有一个安装在我的设备中的Android应用程序列表,现在我需要这些类别。
我的第一个方法是使用appaware.com,但我的目标是使用官方游戏商店。
你有什么想法,我可以在扫描网站旁边使用它。你知道Java或JavaScript中的任何非官方API,还是任何隐藏的官方API?
so what i have: - a list of all my apps (incl. package etc.)
what i need: an API to get the categories of the apps :-)
感谢您的回答。
答案 0 :(得分:1)
我也面临同样的问题。上述查询的解决方案如下。
首先,下载Jsoup库或下载jar文件。
或将此添加到您的build.gradle(Module:app)实现'org.jsoup:jsoup:1.11.3'
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 = "https://play.google.com/store/apps/details?id=com.imo.android.imoim"; //GOOGLE_URL + packageInfo.packageName;
Log.i(TAG, query_url);
category = getCategory(query_url);
Log.e("CATEGORY", category);
// store category or do something else
//}
return null;
}
private String getCategory(String query_url) {
try {
Document doc = Jsoup.connect(query_url).get();
Elements link = doc.select("a[class=\"hrTbp R8zArc\"]");
return link.text();
} catch (Exception e) {
Log.e("DOc", e.toString());
}
}
}
作为回报,您将获得应用程序公司名称和应用程序类别