我有一个Android应用程序,应该列出设备上的所有已安装的应用程序(没有root)。我已经尝试了PackageManager
的getInstalledApplications(0)
和getInstalledPackages(0)
两种方法,但是在某些显然安装了太多应用的设备上,我得到了"包管理器已经死亡" RuntimeException
(我是通过Google Play的错误报告服务收到的)。这是由于Android内部使用的IPC中每1次呼叫1MB的众所周知的限制。
如何解决这个问题?我不介意通过大块来请求长长的名单,但我没有看到任何方法。只有2种上述方法可供使用。