Android设备管理员对话框未显示 - 自动拒绝

时间:2012-11-07 16:49:01

标签: android dialog admin device-policy-manager

我正在尝试使用我的应用程序实现锁定屏幕。 我通过谷歌文档工作并研究了样本。

当我打电话给你时

    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”

到我的清单。

有没有人知道我可能错过了什么? Thx提前!

1 个答案:

答案 0 :(得分:1)

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

实施例: 机器人:名称= “com.exampl.PolicyClass $ PolicyReceiver”