0

我正在尝试用我的应用程序锁定屏幕。我已经通过谷歌文档工作并研究了示例。

当我打电话给这个

    void getAdmin(){
    Intent activateDeviceAdminIntent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        activateDeviceAdminIntent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mPolicy.getPolicyAdmin());
        activateDeviceAdminIntent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                getResources().getString(R.string.AdminReceiverDescr));
        startActivityForResult(activateDeviceAdminIntent, REQ_ACTIVATE_DEVICE_ADMIN);
}

对话没有出现(也许它闪烁了一点,不能肯定地说),它只是跳转到我的 onResult 例程中,结果是“未授予”。但是我的应用程序随后显示在设置/安全/设备管理员的列表中,如果我手动启用管理员权限,它会像魅力一样锁定我的屏幕。

我已添加权限

使用权限 android:name="android.permission.BIND_DEVICE_ADMIN"

接收器... android:permission="android.permission.BIND_DEVICE_ADMIN"

我的清单。

有谁知道我可能错过了什么?提前谢谢!

4

1 回答 1

1

在我的清单中发现了问题:您必须使用 $ 符号指定接收器子类。

示例:android:name="com.exampl.PolicyClass$PolicyReceiver"

于 2012-11-08T01:12:40.360 回答