Я пытаюсь программно закрепить экран на Android L. Мое приложение включает xml-файл с
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock/>
<watch-login/>
<disable-camera/>
<disable-keyguard-features/>
<encrypted-storage/>
<expire-password/>
<limit-password/>
<reset-password/>
<set-global-proxy/>
<wipe-data/>
</uses-policies>
</device-admin>
Я установил приложение с правильными строками в файле AndroidManifest, где я определил AdminReceiver. Несколько недель назад все работало нормально, но сейчас, когда я вернулся к этому проекту, приложение просит меня подтверждать всплывающее окно «Pin screen» каждый раз при запуске приложения.
При отладке я заметил странное поведение devicePolicyManager.isAdminActive(componentName)
верно devicePolicyManager.isDeviceOwnerApp(getPackageName())
верно
но
devicePolicyManager.isLockTaskPermitted(getPackageName())
неверно
Не имеет значения, устанавливаю ли я приложение в качестве владельца устройства с помощью adb commend dpm set-device-owner ...
или отправив файл device_owner.xml в /data/system/
Мой вопрос: почему у приложения нет разрешения на блокировку экрана?