如何在Android中创建设备管理员

时间:2015-04-07 14:24:04

标签: android

我们所有人都必须在“设备管理员”下看到管理员列表。

他们可以执行特殊任务。

任何想法如何创建可成为设备管理员的应用程序?

这只是一项研究,不要紧张!

3 个答案:

答案 0 :(得分:8)

Android开发者文档中的Device Administration guide深入介绍了该过程。

在较高的层面上,步骤是:

用户以设备管理员身份接受设备后,您可以在应用程序中执行一组有限的设备管理操作。

答案 1 :(得分:1)

您需要研究更多信息this文档或device management policies

答案 2 :(得分:0)

你需要做三件事:

  1. <receiver> 添加到 AndroidManifest
  2. <device-admin> 制作新的 xml 文件
  3. DeviceAdminReceiver 制作新的 .kt 文件

示例:

AndroidManifest.xml 中(在 <activity> 中,添加以下代码):

<receiver
        android:name=".MyDeviceAdminReceiver"
        android:description="@string/app_name"
        android:label="@string/app_name"
        android:permission="android.permission.BIND_DEVICE_ADMIN">
        <meta-data
            android:name="android.app.device_admin"
            android:resource="@xml/device_owner_receiver" />
        <intent-filter>
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        </intent-filter>
    </receiver>

device_owner_receiver.xml中,添加以下代码:

<?xml version="1.0" encoding="utf-8"?>
<device-admin>
    <uses-policies>
        <limit-password />
        <watch-login />
        <reset-password />
        <force-lock />
        <wipe-data />
        <expire-password />
        <encrypted-storage />
        <disable-camera />
    </uses-policies>
</device-admin>

MyDeviceAdminReceiver.kt中,添加以下代码:

class MyDeviceAdminReceiver : DeviceAdminReceiver() {
    override fun onEnabled(context: Context, intent: Intent) {
        super.onEnabled(context, intent)
        Toast.makeText(context, "Admin is enabled", Toast.LENGTH_SHORT).show()
    }
}

在顶部添加代码后运行应用时,应用会提示管理员请求。

供参考,developer.android.com