2016-02-10 2 views
0

Мое приложение необходимо скопировать текст из любого приложения на устройстве, которое в настоящее время используется. Например, если skype открыт, тогда он должен выполнить операцию типа CTRL + A + C на ПК, поэтому текст будет скопирован в мое приложение/буфер обмена.Копировать текст из любого приложения

Я знаю, что это можно сделать с помощью программной съемки снимка экрана и выполнения OCR, но заинтересованного в понимании того, есть ли какой-либо прямой способ, как упоминалось ранее.

Я открыт для решений на базе Android (Java) или решений NDK.

Примечание: Запрещено корнеплодов.

ответ

1

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

Вы можете написать службу доступности или помощника (последняя - Android 6.0+). Они могут предоставить вам доступ к тексту в TextViews, описаниям контента ImageViews и т. Д. Тем не менее, они требуют дополнительной настройки от имени пользователя, и эти пользователи предупреждаются о неприкосновенности частной жизни и безопасности при активации вашего приложения.

+0

Вау, это звучит круто. 'Они могут предоставить вам доступ к тексту в TextViews, описаниям содержимого ImageViews и т. Д. - Означает ли это доступ к другим приложениям? –

+0

@Tracer: Да, по крайней мере, на переднем плане. API-интерфейсы доступности предназначены для того, чтобы помочь людям ориентироваться в пользовательском интерфейсе, который может испытывать трудности с использованием обычных средств (например, аудиосопровождение в стиле Talkback для слабовидящих). – CommonsWare

+0

о, отлично. могу ли я также отредактировать текст в этих текстовых полях (например, изменить их цвет или сделать такие ссылки, как 'skype click to call' addon в веб-браузерах? –