繁体   English   中英

如何获取 Android 设备上已安装应用程序的列表

[英]How to get a list of installed apps on Android device

我正在尝试制作一个简单的 Android 启动器。 通过教程和其他一些堆栈溢出帖子,我发现了这种获取已安装应用程序列表的方法:

        Intent intent = new Intent(Intent.ACTION_MAIN, null);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        List<ResolveInfo> rawAppList = getApplicationContext()
                                        .getPackageManager()
                                        .queryIntentActivities( mainIntent, 0);

但是,当我尝试运行它时,我只得到 4 个应用程序的列表。 我用来测试的模拟器有 14 个应用程序通过默认启动器显示。 理想情况下,我将能够在我自己的启动器中看到所有这些。

我试过克隆一个git 项目,它以相同的方式安装应用程序。 在同一个模拟器上运行它时,所有 14 个应用程序都按预期检索。

很明显我做错了什么,但我不知道是什么。 据我所知,我观看的教程没有额外的步骤。 在我看到的任何其他堆栈溢出帖子中似乎都没有建议任何额外的步骤。

谁能发现我在这里做错了什么?

为了遵守 package 可见性规则,您需要一个<queries>元素作为根<manifest>元素的子元素:

<queries>
    <intent>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.action.LAUNCHER" />
    </intent>
</queries>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM