Email or username:

Password:

Forgot your password?
Top-level
Umnik

@mittorn запуск активити из фона также запрещён в последних версиях андроида. Нужен специальный пермишен для этого.

Плюс к этому уже очень давно не работают тапы поверх прозрачных активити, что хоть вызывать подозрения будет.

У тебя должно работать "вставить" для активного приложения. В смысле оно может поднимать свои элементы интерфейса. Но если ты попытаешься создать перекрывающее его прозрачное активити, то вставка работать не будет.

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

Плюс к этому ацесебилити сервис тоже требует специальных разрешений для работы.

Про враппер не понял идею, честно говоря. Как бы то ни было, проверяется именно на выставление клавы по умолчанию. То есть включенная, но не выбранная клавиатура доступа иметь не будут.

6 comments
mittorn

@umnik
>запуск активити из фона также запрещён в последних версиях андроида. Нужен специальный пермишен для этого.
Не сталкивался. Это с какого API?
Насчёт тапов под оверлеями - да, скрытно украсть буффер не получится. Но когда текст будет украден - это не имеет значения. Конечно очевидно, что все эти оверрлеи требуют разрешений, но это может быть приложение которое использует оверлеи для чего-то нужного пользователю. Опять же - пытаться делать компромисс в виде ограничения действий неловеренных приложений - глупая задача. Это должно быть или совсем что-то урезанное, что может работать только на переднем плане как на android go, либо давать разрешения, предполагая уже что доверяешь софту (как можно доверять 100+ мегабайтам лапши на котлине я правда мало себе представляю, там разраб то своим зависимостям доверять не имеет права...)
Про враппер я имел в виду следующее: заспавнить и забиндить сервис клавиатуры (другого пакета) из своего InputMethodService, и прокинуть ему интерфейс InputConnection. Но я боюсь, что не получится добавить его view в своё окно в таком случае

@umnik
>запуск активити из фона также запрещён в последних версиях андроида. Нужен специальный пермишен для этого.
Не сталкивался. Это с какого API?
Насчёт тапов под оверлеями - да, скрытно украсть буффер не получится. Но когда текст будет украден - это не имеет значения. Конечно очевидно, что все эти оверрлеи требуют разрешений, но это может быть приложение которое использует оверлеи для чего-то нужного пользователю. Опять же - пытаться делать компромисс в виде ограничения действий неловеренных...

Umnik

@mittorn запуск активити из фона ограничен в 10 и выше. Но есть ряд послаблений, среди которых - если ты биндишься к некоторым системным сервисам: developer.android.com/guide/co Фореграунд сервисы же сюда не входят. Но при этом пендинг интент от сервиса (юзер тапнул на уведомление) таки может запустить активити. Но это уже прямое взаимодействие с компонентом

mittorn

@umnik старнно - а у меня работает при условии что выставлен ACTIVITY_FORCE_NEW_TASK.
Может дело в том, что я инициирую запуск из AccessibilityService?

Umnik

@mittorn может, не проверял. Я ацесебилити использовал, чтобы читать эвенты для своих дел, но не запускал ничего из них.

Вообще биндинг к ацесебилити даёт право запускать как минимум свои активити из фона. Может и чужие тоже, ХЗ.

mittorn

@umnik ну вот и разгадка. К счастью ограничение на запуск активитей из фона пока моих приложений не касается т.к не вижу применений кроме как в accessibility. Своим активитям и так могу бродкасты посылать, а пока они в фоне - это и не нужно

mittorn

@umnik понятное дело, что в контексте "доаверять 100+мегабайтной лапше на котлине нельзя", которое гугол сам развёл своими гайдлайнами им проще сделать чтобы в фоне вообще ничего не работало

Go Up