Intereting Posts
Внедрение зависимостей CustomView с кинжалом 2 (в пределах действия) Использование TabWidget.setDividerDrawable ()? Построение графиков зависимостей асинхронно в кинжале 2 Ошибка индекса Android за пределами границ без кода приложения в трассировке стека Как найти статус VPN-соединения с помощью интерфейсных API или любого другого эффективного метода? Как установить задержку в функции Android onClick Как стиль PopupMenu? Как вернуть растровое изображение из дочерней активности в android Диалоговый размер (ширина) игнорируется Как добавить зависимость Facebook в автономном режиме на Android Studio Android, как получить отправленную / полученную электронную почту Recreate Найти функцию браузера страницы в веб-просмотре Как перейти к определенному виду с помощью ViewFlipper? Тестирование биллинга в приложении с помощью тестовых учетных записей Как скомпилировать forked-библиотеку в Gradle?

Обнаружение сообщений тоста

Я не думаю, что это возможно, поскольку я еще ничего не нашел в документации SDK (пока).

Но я мог бы понять, возможно ли написать приложение, которое регистрирует сообщения Toast. Занесение в журнал, какое приложение показало его и что отображалось в сообщении.

Это совершенно личное стремление создать приложение, которое может обнаруживать сообщения с тостами. Потому что что-то на моем телефоне создает тост, говорящий «Отправка …» примерно один раз в день, и для жизни меня не удается отследить приложение-нарушитель (класс обслуживания). Я думал, что это может быть GMail или Evernote, но там тосты для отправки немного отличаются. Я собираюсь создать приложение, потому что 1) я не знаю, будет ли LogCat показывать что-либо, и 2) я не хочу, чтобы мой личный / dev телефон подключался к ПК все время (как «Отправка … "сообщение происходит нечасто).

Вы можете поймать сообщения / уведомления с помощью службы специальных возможностей , взгляните на это.

Вы можете расширить класс AccessibilityService и переопределить метод onAccessibilityEvent() чтобы реализовать что-то вроде этого:

 public void onAccessibilityEvent(AccessibilityEvent event) { if (event.getEventType() != AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) return; // event is not a notification String sourcePackageName = (String) event.getPackageName(); Parcelable parcelable = event.getParcelableData(); if (parcelable instanceof Notification) { // Statusbar Notification } else { // something else, eg a Toast message String log = "Message: " + event.getText().get(0) + " [Source: " + sourcePackageName + "]"; // write `log` to file... } } 

Примечание. Это не сработало для меня на Android 2.2, поскольку оно не похоже на тосты, но оно работало на Android 4.0+.