Отправляет email-рассылки с помощью сервиса Sendsay

За 2019-06-09

[prg] Re[5]: Android: способы озвучивания сообщений.

Ok, попробую, видимо как-то пропустил мимо.
спасибо.

   2019-06-09 13:40:40 (#3620793)

[prg] Re[4]: Android: способы озвучивания сообщений.

Приветствую всех!
AccessibilityManager.sendAccessibilityEvent() не работает?

Исходное сообщение > там просто такая информация, которая полезна именно незрячим
пользователям,
> более того, если служба спецвозможностей неактивна, то будет

   "i_chay" 2019-06-09 13:08:49 (#3620789)

[prg] Re[3]: Android: способы озвучивания сообщений.

здравствуйте.

да, разумеется сервис присутствует в приложении.

там просто такая информация, которая полезна именно незрячим пользователям,
более того, если служба спецвозможностей неактивна, то будет
взоимодействован синтез речи.

я так понимаю, способа вывода сообщения на службу доступности невизуально
нет.

спасибо.

   2019-06-09 06:37:25 (#3620769)

[prg] Re[2]: Android: способы озвучивания сообщений.

Приветствую всех!
Неверно сформулировал. Главный поток не приостанавливается.
Но поскольку элементы управления заднеплановой активности перекрыты
активностью на переднем плане, то заднеплановая активность не может получать
пользовательский ввод (сенсорный и т.п.) и реагировать на него.
А может быть уничтожена системой при необходимости.

Исходное сообщение > Если активность не находится на переднем плане, то она вообще ничего не
> должна делать, потому что ее главный поток приостановлен.

   "i_chay" 2019-06-09 04:44:34 (#3620768)

[prg] Re: Android: способы озвучивания сообщений.

Приветствую всех!

Встречный вопрос: чем вас не устраивают обычные уведомления (notifications)
или тосты (Toast)?
Кроме того, в вашем вопросе
смешаны два разных понятия: активность на заднем плане и фоновый работа.
Активность не может быть фоновой: она либо взаимодействует с пользователем и
тогда находится на переднем плане, либо не взаимодействует с пользователем и
не находится на переднем плане.
Если активность не находится на переднем плане, то она вообще ничего не
должна делать, потому что ее главный поток приостановлен. Не рекомендуется
выполнять какие-либо действия в таком состоянии даже при помощи
дополнительных потоков. Поэтому не понятно, по какой причине заднеплановая
активность, то есть не участвующая в данный момент в формировании экрана,
решила вдруг о чем-то сообщить службе доступности, задача которой озвучивать
события происходящие на экране?
Если нужно в фоновом режиме выполнять какие-либо действия, то рекомендуется
использовать компонент service. Вот в нем как раз и следует размещать все
свои рабочие потоки, выполняющие всю работу, не связанную с отображением
информации на экране и взаимодействием с пользователем.
На случай, если надо известить пользователя о каком-то событии, то service
может:
1. Использовать уведомления или тосты.
2. Запустить активность, которая сразу окажется на переднем плане.
Оба варианта нормально озвучиваются TalkBack.
Конечно, для целей доступности, п.2 предпочтительнее, поскольку у
пользователя есть возможность несколько раз прочитать сообщение и понять его
смысл без спешки и нервного напряжения.
Для уведомлений пользователю придется открывать панель уведомлений, а для
тостов -- смотреть речевой лог.

И, в общем случае, старайтесь проектировать приложения с универсальным
доступом, а не заточенные эксклюзивно под незрячих пользователей.
То есть уведомлять надо всех пользователей (и зрячих, и незрячих).
Исходное сообщение > каким образом, кроме android.speech.tts можно выводить сообщения именно на
> службу доступности?
>
> я знаю, есть метод announceForAccessibility который может выводить
> сообщение, но это работает только при случае, если activity, а может быть
и
> элемент, на который посылается сообщение ввиду.
>
> как можно сделать озвучивание если приложение на заднем фоне?

   "i_chay" 2019-06-09 01:22:56 (#3620765)