在我的应用程序中,我可以选择(复选框)以编程方式启用/禁用设备管理,当我禁用了管理并尝试启用它时,它可以工作,但当我禁用它时,它所做的是禁用设备管理,而不提示停用窗口要求停用。现在我需要做的是正确的方式,我希望应用程序显示适当的屏幕要求停用设备管理。我有以下从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并不容易获得,它们是用于商业用途的。