【问题标题】:Enable Device Admin without asking user无需询问用户即可启用设备管理员
【发布时间】:2014-09-22 11:39:52
【问题描述】:

我在我的应用程序中使用设备管理 API,但它需要用户执行操作才能启用它 - 我想知道它是否以某种方式安装应用程序并自动在其上启用管理员而不询问用户?

有没有人尝试过这样的事情

【问题讨论】:

    标签: android device-admin


    【解决方案1】:

    无需询问用户即可启用设备管理员

    不是个好主意。如果 android 允许这样做,那么任何人都可以玩用户和用户的数据。 Android 不允许,不允许,以后也不会允许这个东西。你最好别想了;)

    【讨论】:

    • 我不同意你的观点,在某些情况下它只是必需的。
    • 如果您需要,那么用户必须知道那件事。让用户知道并使用该属性
    • 好吧,我们换个方式问吧。我需要禁用按钮清除数据并强制停止该应用程序你知道怎么做吗?
    • 清除数据,删除你的数据库,SharedPreferences你可以使用SharedPreferences.Editor的清除功能。为什么要强制停止应用程序,这不是 Android 的最佳实践,因为 Android 应该决定何时停止应用程序,而不是开发人员。开发者只是完成活动,而不是退出流程。
    • @Robert 你不能做这件事,除非你决定午餐你自己的由 android 操作系统驱动的硬件。该选项仅适用于 Mediaprovider 等系统应用。
    【解决方案2】:

    由于操作系统的安全性,这是不可能的

    【讨论】:

      【解决方案3】:

      这是不可能的,设备管理员为应用程序提供设备的某些权限,这是标准应用程序所没有的。如果用户安装了一个应用程序并在未经用户同意或不知情的情况下自动将自己设置为设备管理员,这将是一个巨大的安全风险。

      【讨论】:

        【解决方案4】:

        出于安全考虑,如果不询问用户,就无法启用或禁用设备管理。

        【讨论】:

          【解决方案5】:

          好久不见,我不得不说不修改操作系统是不可能做到的。即使我尝试通过反射使用 Android 隐藏 API,但看起来您需要一些系统权限。

          【讨论】:

          • 这正是我的情况 - 我正在构建一个自定义 Android ROM,并且我想安装一个应用程序作为系统一。它使用设备管理 API 并显示非常迅速,即使它是用系统证书签名的。我正在寻找一种通过某种系统 API 或其他方式删除该提示的方法。我可以破解设备管理源代码以不显示提示,但我正在检查是否有特殊的 API 用于那个...
          【解决方案6】:

          如果您有 root 或系统/签名权限,请使用 dpm set-active-admin

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-05-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-14
            • 2022-10-07
            • 2018-08-10
            相关资源
            最近更新 更多