Класс активности должен быть внутренним классом, а внешний класс должен расширять DeviceAdminReceiver
public class adminActivity extends DeviceAdminReceiver {
public static class Controller extends Activity {
DevicePolicyManager mDPM;
ComponentName mDeviceAdminSample;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
mDeviceAdminSample = new ComponentName(Controller.this,
adminActivity.class);
}
}
}
Для блокировки устройства напишите код в случае, когда вы используете для блокировки
if (active) {
mDPM.lockNow();
}
Если DeviceAdmin включен, телефон будет заблокирован.
Чтобы включить администратора устройства, вызывается намерение DevicePolicyManager, и оно должно быть включено пользователем.
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);