我需要获取手机中所有已安装应用程序的包名,这些应用程序都有一个启动器,即在手机的应用列表中出现。 我知道pm list packages 列出了所有的包名,但它也包括服务和系统应用程序。我只想要显示在手机应用菜单中的应用程序。 同时,我不想使用monkey runner,任何其他替代方案都很好。 有什么帮助吗?
尝试在PackageManager中对每个已安装的包调用getLaunchIntentForPackage()。如果返回null,则表示它没有启动器。虽然您可能会从具有MAIN活动但没有启动器的应用程序中获得一些误报。
pm list packages -3
获取所有第三方应用程序。虽然它不完全符合您的要求,但我认为这是最好的选择。 - Jared Rummler