我对带有集合的应用小部件的概念完全陌生,更不用说应用小部件了。我想创建一个应用小部件,它可以收集用户安装应用的列表,并将它们放在应用小部件的列表视图中,可以检查。小部件将相应地更新列表。我环顾四周,看看是否有办法做到这一点,我发现使用带有集合的应用程序小部件可能是一种可能性。我会以正确的方式解决这个问题吗?任何可以帮助我做到这一点的资源或提示都非常有用!
问问题
318 次
2 回答
0
此 API 会在某些 HTC 设备等中崩溃。我们通过以下方式来查找具有以下方式的至少一个 Activity 的应用程序。
List<String> installedPackageNamesList = new ArrayList<String>();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> resolveInfoList = context.getPackageManager().queryIntentActivities(intent, 0);
for(ResolveInfo info : resolveInfoList){
if(info.activityInfo != null && info.activityInfo.packageName != null){
installedPackageNamesList.add(info.activityInfo.packageName);
}
}
于 2013-09-28T05:02:02.487 回答
0
您有点要求每个人都从您那里编写您的应用程序(这是一个过于笼统的问题)。也许您应该将您的问题拆分为更易于管理的内容,并自行进行一些初步研究以更好地定义您的问题。
您可以将列表视图放在小部件中(您可以将几乎任何 UI 元素放在 Android 中的任何控件中 - 因为一切都只是 View 的子类)。
要获取用户已安装的所有应用程序的列表,请使用 PackageManager(应用程序列表被捕获在 List 中,它是 Collection 的一种):
PackageManager packageManager = null;
List<ApplicationInfo> appsList = new ArrayList<ApplicationInfo>();
try {
packageManager = getPackageManager();
if (packageManager != null) {
appsList = packageManager.getInstalledApplications(0);
}
} catch (final Exception e1) {
Log.v("PackageManager", "This is my error: ", e1);
}
于 2013-09-28T03:49:36.303 回答