【问题标题】:How to activate DeviceAdmin when application start in Android?如何在 Android 中启动应用程序时激活 DeviceAdmin?
【发布时间】:2011-12-28 12:01:55
【问题描述】:

您好,我想在不使用 Intent 的情况下启动应用程序时启动/激活设备管理。现在我正在使用这段代码:

Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
            intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, Global.mDeviceAdminSample);
            intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                    "Additional text explaining why this needs to be added.");
            startActivityForResult(intent, RESULT_ENABLE);

但我不想使用 Intent。我想直接启动 Device Admin。

谁能知道我该怎么做?

谢谢。

【问题讨论】:

  • 为什么不想使用intent?我们无法无意识地开始任何活动
  • 是的,我知道,但我不想启动 Activity 我想直接启用设备管理。例如,如果我使用 ToggleButton,那么当我设置为 ON 时,DeviceAdmin 变为 Enable,OFF 然后变为 Disable。有可能吗?
  • 设备管理员对应用程序非常重要,因此当应用程序在设备管理员中时,用户无法直接卸载它。因此,您必须启动管理意图,并且必须使用 Android 提供的管理屏幕。 :) 无法从应用程序切换 AFAIK
  • 好的,谢谢。我们可以获取设备管理员的状态吗?我的意思是如果设备管理员已经启用,那么我们安装了我们的应用程序,那么我们可以在我们的应用程序中获取设备管理员的状态吗?
  • 是的,我们可以获得设备管理员状态。您需要使用 DeviceAdminReceiver 扩展您的类并覆盖 OnEnabled/onDisabled 方法。否则,您可以维护该标志以优先于离线状态。

标签: android device-admin


【解决方案1】:
Intent intent = new Intent(DevicePolicyManager. ACTION_ADD_DEVICE_ADMIN);
ComponentName compName = new ComponentName(getApplicationContext(), MyAdmin.class);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, compName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "Bấm zô nút đồng ý(ACTIVE á)");
startActivityForResult(intent, RESULT_ENABLE);

=> 我可以向 android 5.1 授予权限,但不能在 6.0 及更高版本上执行此操作

【讨论】:

  • 欢迎来到 Stack Overflow。这是一个问题还是一个答案?如果它是一个答案,它不会回答这个问题。要改进您的答案,请阅读tourHow do I write a good answer?
【解决方案2】:

可以通过以下方式实现:
1)使用添加外壳命令:

adb shell dpm set-device-admin --user 0 com.mydeviceadmin/.deviceAdminReceiver  

2) 以编程方式:

Runtime.getRuntime().exec("dpm set-device-admin --user 0 com.mydeviceadmin/.deviceAdminReceiver")  

在 Android 6.0 上测试。无需root。

大卫

【讨论】:

    【解决方案3】:

    幸运的是没有用户交互是不可能的。 用户必须在设置中将您的应用确认为设备管理员,这样您才能将用户导航到最佳设置。

    如果应用可以在没有用户交互的情况下激活设备管理员(设备管理员拥有相当大的权限),那将是一个巨大的安全风险。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2012-05-12
      • 1970-01-01
      • 2012-04-21
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多