2016-05-30 4 views
0

Можно ли добавить дополнительные опции в панель контекстных действий Android по умолчанию, что я имею в виду, это не только изменение ее в одном приложении, но и изменение всех CAB во всей системе. Если это невозможно, есть ли другой способ написать приложение, которое реагирует при выборе текста в разных приложениях (например, в браузере, Gmail и т. Д.) И делает его, например, всплывающим на стороне.Добавление дополнительных опций в панель контекстных действий Android по умолчанию

Я не ожидаю никакого кода, просто общий подход и некоторые подсказки, как добиться аналогичного поведения.

ответ

0

Можно ли добавить дополнительные опции в панель контекстного действия 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 в приложении «Настройки», в котором будет предупреждаться пользователь о последствиях конфиденциальности, связанных с тем, чтобы ваше приложение шпионировало на всех своих входах.

+0

Большое вам спасибо за ваш ответ! Нужно ли пользователю включать в действие 'ACTION_PROCESS_TEXT'? Какой из этих двух подходов вы использовали бы с точки зрения совместимости и конфиденциальности пользователей? Я думаю, 'ACTION_PROCESS_TEXT' не шпионит за всем входом. Извините, но я действительно новичок во всем этом, но я хотел бы знать, что из этих механизмов лучше использовать в моем случае, когда визуальный аспект не является объектом. – Jatimir

+0

@Jatimir: «Нужно ли пользователю включать в действие ACTION_PROCESS_TEXT?» - нет, если Android не изменит это поведение, и я пропустил его. «Какой из этих двух подходов вы использовали бы с точки зрения совместимости и конфиденциальности пользователей?» - 'ACTION_PROCESS_TEXT'. «Я думаю, ACTION_PROCESS_TEXT не шпионит за всем вводом» - правильно. Пользователь должен конкретно использовать вашу запись в режиме плавающего действия, и поэтому они «выбирают» в этой точке более или менее. – CommonsWare

+0

Это то, чего я ожидал, большое спасибо! – Jatimir

Смежные вопросы