我正在通过触发意图激活我的应用程序中的移动设备管理员。
我的应用程序在第一次试用中打开设备管理页面。现在我从我的应用程序激活设备管理员。
但是当重新打开(停用或激活)其未打开的设备管理页面时,即使我的代码也运行那些触发设备管理员的行。
打开设备管理页面的代码:
ComponentName mDeviceAdminSample = new ComponentName(mContext, MGDeviceAdminReciever.class);
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,mContext.getString(R.string.enable_device_manager_declare));
mContext.startActivity(intent);
答案 0 :(得分:1)
就是这样,但不是打开设备管理页面,而是在内部禁用它。
DevicePolicyManager mDPM = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName mDeviceAdminSample = new ComponentName(mContext, MGDeviceAdminReciever.class);
if (isChecked) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.FROYO) {
if (!PreferenceDataHelper.getUIEnable(mContext, PreferenceDataHelper.UNINSTALL_PROTECT_BUTTON_SETTING)) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, mContext.getString(R.string.enable_device_manager_declare));
mContext.startActivity(intent);
}
}
} else {
**mDPM.removeActiveAdmin(mDeviceAdminSample);**
Toast.makeText(mContext, "Device Administrator is disabled.", Toast.LENGTH_SHORT).show();
}