gpt4 book ai didi

android - 关于 "DONT_DELETE_DATA"的一些问题,它是如何工作的,以及应用程序如何使用它

转载 作者:行者123 更新时间:2023-11-30 02:43:18 52 4
gpt4 key购买 nike

背景

我正在开发 app-manager应用程序,我注意到有一种方法可以获取“已卸载应用程序”列表(使用“GET_UNINSTALLED_PACKAGES”标志),这些应用程序要求避免在卸载时删除其数据。

文档是这样说的:

Flag parameter to retrieve some information about all applications (even uninstalled ones) which have data directories. This state could have resulted if applications have been deleted with flag DONT_DELETE_DATA with a possibility of being replaced or reinstalled in future.

Note: this flag may cause less information about currently installed applications to be returned.

问题

我已尝试调查更多有关此功能的信息,但除了此文档外,我几乎没有找到任何相关信息。

问题

  1. 此类应用如何请求此功能?除了我写的内容,我什至在文档的任何地方都找不到“DONT_DELETE_DATA”。正在看this website ,它似乎是 PackageManager 类的一部分,但我看不到它在 Eclipse 上公开。
  2. 数据将保留多长时间?
  3. 如何检测此类应用程序?有什么看的PackageInfoApplicationInfo那表明了吗?也许是 ApplicationInfo 上的“FLAG_INSTALLED”?我运行了它,但我得到的应用列表中没有一个关闭此标志,即使我已经安装和卸载了许多应用。
  4. 选择卸载这些类似“幽灵”的应用程序真的会删除它们吗?
  5. 我还能在内置的应用程序管理器中看到这些应用程序吗?
  6. 我还能管理此类应用吗?
  7. 可以检索此类应用程序的哪些信息(图标、名称等...)?我问这个是因为文档说“这个标志可能导致信息较少”。
  8. 文档说,当我使用 GET_UNINSTALLED_PACKAGES 时,我获得的关于“当前安装的应用程序”的信息可能较少。这是一个错误吗?不应该是“当前安装的应用程序”吗?
  9. 当应用程序使用此不删除其数据的标志时,是仅表示内部存储、私有(private)数据还是外部存储、公共(public)数据?

最佳答案

根据 https://github.com/android/platform_frameworks_base/blob/master/core/java/android/content/pm/PackageManager.java 处的源代码, PackageManager 有一个带有标志参数的 deletePackage 方法。

DONT_DELETE_DATA 是这些标志之一。因此,这不是应用程序的属性,它是 deletePackage 方法的标志,告诉它在删除应用程序时保留数据。

您在 javaDocs 中看不到 deletePackage,因为该方法有一个@hide 标记。

关于android - 关于 "DONT_DELETE_DATA"的一些问题,它是如何工作的,以及应用程序如何使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25461243/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com