можно ли получить слово из каждого текста или отрывка в телефоне (например, из других приложений) с помощью длинного клика? например, я хочу создать переводчик слов, и он должен иметь возможность получать каждое слово в любом месте телефона для перевода (приложение для Android, такое как переводчик Babylon). я знаю, что есть некоторые решения, такие как выберите слово одним нажатием в TextView/EditText ... но эти ответы нельзя использовать для представлений других приложений. спасибо за каждый ответ и извините за плохой английский
как получить информацию о другом приложении с помощью longclick
Ответы (1)
можно ли получить слово из каждого текста или отрывка в телефоне (например, из других приложений) с помощью длинного клика?
No.
Самое близкое, что существует , это ACTION_PROCESS_TEXT
в Android 6.0+. Если у вас есть действие с правильным <intent-filter>
, вы будете включены в режим плавающего действия, который позволяет пользователю вырезать, копировать, вставлять и т. д.:
<intent-filter>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Если пользователь выберет вашу активность, вы получите выделенный текст в качестве Intent
дополнительного.
Однако:
Это только для Android 6.0+, на долю которого в данный момент приходится примерно 0,0% рынка устройств Android. Со временем это, конечно, улучшится.
Пользователь должен согласиться на это, нажав на запись вашей активности в режиме плавающего действия. Просто потому, что пользователь выделяет какой-то текст, он не дает вам этот текст автоматически.
Этот пример проекта демонстрирует, как реализовать действие ACTION_PROCESS_TEXT
в Android 6.0. .