【问题标题】:Hide application on android using DevicePolicyManager使用 DevicePolicyManager 在 android 上隐藏应用程序
【发布时间】:2016-02-15 18:50:11
【问题描述】:

我正在尝试使用 DevicePolicyManager 在我的应用程序中隐藏我设备上的 Facebook。现在,我已经设法通过调用 setCameraDisabled 方法在某个条件下禁用了相机。

现在我正在尝试隐藏 Facebook,因此我调用了 setApplicationHidden 方法并将 Facebook 的 bundleId 指定为参数之一。当我运行我的代码时,我收到一个 java 安全异常,说我的管理员不拥有该配置文件。

如何获得用户权限,以便阻止此安全异常?有没有更好的方法来以编程方式限制 3rd 方应用?

谢谢

【问题讨论】:

  • AFAIK,这与“用户权限”无关。例如,要成为设备所有者,您必须在首次启动设备时进行特殊设置过程。 “个人资料所有者”和“设备所有者”都是 Android for Work 系统的一部分。
  • 您是否使用 setApplicationHidden Api 隐藏了应用程序?当我尝试此 api 时,即使我的应用程序是设备所有者,它也不会隐藏应用程序并返回错误值。你知道为什么它返回 false 吗?

标签: java android android-permissions device-policy-manager android-security


【解决方案1】:

要使用 DevicePolicyManager 类提供的方法,我们必须让应用成为设备所有者。我已经使用 dpm 命令使我的应用程序成为所有者。 以下是它的步骤

  1. 第一台恢复出厂设置的设备
  2. 安装您的应用并以管理员身份激活。
  3. 从终端运行以下命令

dpm set-device-owner packageNameOfApp/DeviceAdminRcvrwithFullPackageName

你可以找到延迟讨论here

【讨论】:

    【解决方案2】:

    您可以在任何管理应用程序上使用“dpm set-device-owner”,而无需将您的设备恢复出厂设置。

    请记住,此 adb 命令应仅用于测试目的。除了该管理功能之外,还有no more supported by Google

    您应该是Device ownerProfile Owner 才能使用DevicePolicyManager 中的任何API

    注意:似乎有些制造商仍然支持 ROM 中的管理员功能,例如三星,即使他们使用新的 Android 版本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多