0

我对带有集合的应用小部件的概念完全陌生,更不用说应用小部件了。我想创建一个应用小部件,它可以收集用户安装应用的列表,并将它们放在应用小部件的列表视图中,可以检查。小部件将相应地更新列表。我环顾四周,看看是否有办法做到这一点,我发现使用带有集合的应用程序小部件可能是一种可能性。我会以正确的方式解决这个问题吗?任何可以帮助我做到这一点的资源或提示都非常有用!

4

2 回答 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 回答