Приложение уже имеет доступ администратора и добавляется в защищенные приложения.
У меня есть вызовы, расширяющие AccessibilityService, где я должен запретить удаление приложения пользователем.
Вызывается onServiceConnected, и я устанавливаю конфигурацию serviceInfo:
AccessibilityServiceInfo config = new AccessibilityServiceInfo();
config.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
config.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK;
config.flags = AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
В манифест XMl добавлена служба:
<service
android:name=".myapp.service.myService"
android:label="@string/app_name"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibilityservice" />
</service>
Событие onAccessibilityEvent не вызывается, когда пользователь долго нажимает на значок приложения и перетаскивает его в корзину, и на экране появляется диалоговое окно подтверждения.
В onAccessibilityEvent я пытаюсь закрыть это диалоговое окно программно, чтобы пользователь не мог удалить приложение.