在我的应用程序中,我可以选择(复选框)以编程方式启用/禁用设备管理,当我禁用了管理并尝试启用它时,它可以工作,但当我禁用它时,它所做的是禁用设备管理,而不提示停用窗口要求停用。现在我需要做的是正确的方式,我希望应用程序显示适当的屏幕要求停用设备管理。我有以下从android开发者网站上截取的代码片段,

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (isChecked) {
        // Activate device administration
        Intent intent = new Intent(
                DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, deviceAdmin);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                "Activate service to get access");
        startActivityForResult(intent, ACTIVATION_REQUEST);
    } else {
        try {
            devicePolicyManager.removeActiveAdmin(deviceAdmin);
            isAdminActive = false;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

最佳答案

这是不可能的。这是用户的权利。
api将始终显示一个对话框,用于确认是否取消激活Device Admin
尽管edmapi提供了一种可以对设备管理员进行无提示取消激活的方法。所以用户看不到特定设备管理员的停用界面。但edmapi并不容易获得,它们是用于商业用途的。

10-07 19:19
查看更多