Задача — удалить все уведомления, которые приложение создает с помощью специальных возможностей.
Приложение работает в фоновом режиме и генерирует уведомление
Notification notification = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
notification = new Notification.Builder(this, CHANNEL_ID)
.setContentTitle("Service is running")
.setContentText("App is performing background tasks")
.setSmallIcon(R.drawable.ic_service_icon)
.build();
}
startForeground(1, notification);
`
Я пытаюсь удалить все уведомления, журналы показывают, что уведомления были удалены, но уведомление о том, что фоновый процесс творения продолжают появляться на телефоне
`
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo nodeInfo = event.getSource();
if (nodeInfo != null) {
Log.i(TAG, "onAccessibilityEvent: найдено окно");
Log.i(TAG,"ForeGround Accessibility");
performActionOnPermissionDialog(nodeInfo);
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
Log.i(TAG, "Удаляем уведомления, так как изменилось состояние окна");
removeNotifications();
}
}
}
private void removeNotifications() {
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (notificationManager != null) {
notificationManager.cancelAll();
Log.i(TAG, "Уведомление с ID 1 удалено");
} else {
Log.w(TAG, "Не удалось получить NotificationManager");
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... essibility