Можно ли добавить дополнительные опции в панель контекстного действия Android по умолчанию, что я имею в виду, это не только изменение ее в одном приложении, но и изменение всех CAB во всей системе.
В целом нет «контекстной панели действий по умолчанию». Определенные виджетов могут иметь панель контекстного действия по умолчанию (a.k.a., режим действия).
Учитывая некоторые из оставшихся вопросов, я предполагаю, что по умолчанию «контекстная панель действий» вы подразумеваете для виджета EditText
(или что-либо еще на основе TextView
, что позволяет выбирать текст).
В этом случае на Android 6.0 и выше, you can implement an ACTION_PROCESS_TEXT
activity, который будет интегрирован как опция в режим плавного действия выбора текста. Обратите внимание, что этот режим действия доступен только в портретном режиме, поэтому your activity will not appear as an option in landscape.
Аналогичный вариант для Android 5.1 и более ранних версий не существует.
есть ли другой способ, чтобы написать приложение, которое реагирует, когда я выбираю текст в различных приложениях
Вы могли бы быть в состоянии сделать это, написав AccessibilityService
. Обратите внимание, что пользователь должен выбрать способ включения вашего AccessibilityService
в приложении «Настройки», в котором будет предупреждаться пользователь о последствиях конфиденциальности, связанных с тем, чтобы ваше приложение шпионировало на всех своих входах.
Большое вам спасибо за ваш ответ! Нужно ли пользователю включать в действие 'ACTION_PROCESS_TEXT'? Какой из этих двух подходов вы использовали бы с точки зрения совместимости и конфиденциальности пользователей? Я думаю, 'ACTION_PROCESS_TEXT' не шпионит за всем входом. Извините, но я действительно новичок во всем этом, но я хотел бы знать, что из этих механизмов лучше использовать в моем случае, когда визуальный аспект не является объектом. – Jatimir
@Jatimir: «Нужно ли пользователю включать в действие ACTION_PROCESS_TEXT?» - нет, если Android не изменит это поведение, и я пропустил его. «Какой из этих двух подходов вы использовали бы с точки зрения совместимости и конфиденциальности пользователей?» - 'ACTION_PROCESS_TEXT'. «Я думаю, ACTION_PROCESS_TEXT не шпионит за всем вводом» - правильно. Пользователь должен конкретно использовать вашу запись в режиме плавающего действия, и поэтому они «выбирают» в этой точке более или менее. – CommonsWare
Это то, чего я ожидал, большое спасибо! – Jatimir