背景
我正在开发一个应用程序管理器应用程序,我注意到有一种方法可以获取“已卸载应用程序”列表(使用“ GET_UNINSTALLED_PACKAGES ”标志),这些应用程序要求在卸载时避免删除其数据.
这是文档中的内容:
标志参数以检索有关具有数据目录的所有应用程序(甚至已卸载的应用程序)的一些信息。如果使用标志 DONT_DELETE_DATA 删除了应用程序,并且将来有可能被替换或重新安装,则可能会导致此状态。
注意:此标志可能会导致返回有关当前安装的应用程序的较少信息。
问题
我试图调查更多有关此功能的信息,但除了此文档之外,我几乎没有找到任何关于它的信息。
问题
- 此类应用程序如何请求此功能?除了我所写的内容外,我什至在文档的任何地方都找不到“DONT_DELETE_DATA”。在这个网站上看,它似乎是 PackageManager 类的一部分,但我看不到它在 Eclipse 上是公开的。
- 数据会保留多久?
- 如何检测此类应用程序?有什么可以看的PackageInfo或ApplicationInfo显示它吗?也许是 ApplicationInfo 上的“ FLAG_INSTALLED ”?我已经运行了它,即使我已经安装和卸载了许多应用程序,我得到的应用程序列表都没有关闭此标志。
- 选择卸载此类“幽灵”般的应用程序真的会删除它们吗?
- 我还能在内置的应用管理器上看到这些应用吗?
- 我还能管理此类应用程序吗?
- 可以从此类应用程序中检索哪些信息(图标、名称等...)?我问这个是因为文档说“这个标志可能会导致更少的信息”。
- 文档说,当我使用 GET_UNINSTALLED_PACKAGES 时,我可能会得到更少的关于“当前安装的应用程序”的信息。这是一个错误吗?不应该是“当前未安装的应用程序”吗?
- 当一个应用程序使用这个不删除其数据的标志时,它是指仅内部存储的私有数据,还是外部存储的公共数据?