Я использую режим блокировки задач в своем собственном приложении с «владельцем устройства».
Activity mActivity = reactContext.getCurrentActivity();
if (mActivity != null) {
DevicePolicyManager myDevicePolicyManager = (DevicePolicyManager) mActivity.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName mDPM = new ComponentName(mActivity, MyAdmin.class);
if (myDevicePolicyManager.isDeviceOwnerApp(mActivity.getPackageName())) {
String[] packages = {mActivity.getPackageName()};
myDevicePolicyManager.setLockTaskPackages(mDPM, packages);
mActivity.startLockTask();
} else {
mActivity.startLockTask();
}
}
Режим блокировки задач работает отлично, пользователь не может покинуть приложение, но проблема в том, что у меня есть функциональность, которая требует подключения к принтеру BLE. Одна часть процесса подключения заключается в том, что пользователь должен ввести PIN-код в системном окне. Поскольку он находится в режиме задачи блокировки, предупреждение автоматически отключается.
Я пытался внести белый список в com.android.systemui
через setLockTaskPackages()
, но это не помогло. Любые предложения о том, что попробовать дальше?
Кроме того, как я уже упоминал, это реагирует нативное приложение, но код должен быть почти таким же, как и любое другое приложение java.