【问题标题】:Lock device using DeviceAdminReceiver使用 DeviceAdminReceiver 锁定设备
【发布时间】:2011-05-25 20:59:44
【问题描述】:

我正在尝试使用 DeviceAdminReceiver 锁定设备并尝试启用如下管理:

if (!mDPM.isAdminActive(mDeviceAdminSample)) {
  Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN)
  intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
  intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "Additional text explaining why this needs to be added.");   startActivity(intent);
 }

并得到类似以下的错误:

错误/错误(1022): java.lang.SecurityException:没有活动 策略 #3 的 uid 10045 拥有的管理员

请给我一些代码解决方案以及如何启用管理权限。

【问题讨论】:

标签: android device-admin


【解决方案1】:

从您的错误消息来看,您似乎忘记设置device_admin_sample.xml 以询问您希望使用的策略。

例如,如果在您的AndroidManifest.xml 中,您有以下DeviceAdminSample 的接收者代码。

<receiver android:name=".app.DeviceAdminSample"
          android:label="@string/sample_device_admin"
          android:description="@string/sample_device_admin_description"
          android:permission="android.permission.BIND_DEVICE_ADMIN">
    <meta-data android:name="android.app.device_admin"
               android:resource="@xml/device_admin_sample" />
    <intent-filter>
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
    </intent-filter>
</receiver>

然后确保您还将device_admin_sample.xml 设置为以下 xml,以便您可以使用每个设备管理员的能力。

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <limit-password />
    <watch-login />
    <reset-password />
    <force-lock />
    <wipe-data />
  </uses-policies>
</device-admin>

【讨论】:

  • 需要root权限吗?
  • 不,你不需要root安卓手机。
  • 是的,需要从对话框中按 OK。您只需要请求一次许可,然后它就会记住。这是 Android 设备管理文档的链接developer.android.com/guide/topics/admin/device-admin.html
  • 感谢链接。其实我想解决“无法连接相机服务”的问题。但它不起作用。
  • 据我所知,错误听起来与设备管理员的东西无关。
【解决方案2】:

【讨论】:

  • 更像是最坏的。刚刚检查过了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多