Android добавляет объект к глобальному контекстному меню

Используйте аргумент MSBuild /p:PackageLocation=$(Build.ArtifactStagingDirectory), затем опубликуйте $(Build.ArtifactStagingDirectory) как артефакт.

5
задан Esteban Küber 2 October 2009 в 14:45
поделиться

3 ответа

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

В основном как есть, это не возможно.

Что точно Вы пытаетесь выполнить с этим глобальным контекстным меню, своего рода глобальный "Поиск" или "Отправляют К" функциональности, которая пробегает Ваше приложение?

5
ответ дан 14 December 2019 в 19:27
поделиться

Хм; я не знаю, можно ли расшириться созданный в типах как в примере. Ruby (мои знания Java не так достаточно глубоки).

Однако можно получить собственный MyTextView из TextView. Затем замените всем своим TextView в разметках как это:

<TextView android:id="@+id/TextView01" />

кому:

<com.mydomain.mypackage.MyTextView android:id="@+id/TextView01" />

автоматически изменить тип всех этих полей.

Затем необходимо переопределить всех конструкторов (особенно TextView(Context context, AttributeSet attrs) ).

После того всего расположения инфляторы (автоматический или ручной) создадут этот тип без суеты.

Затем можно создавать/регистрировать обратные вызовы контекстного меню, как Вы желаете.

0
ответ дан 14 December 2019 в 19:27
поделиться

Это могло бы быть небольшим hacky, но можно захватить клавишу меню в приложении/уровне активности, проверьте, чтобы видеть, является ли текущее активное представление представлением ввода текста, и затем создайте и отобразите собственное всплывающее меню.

Это возможно, это просто немного хитро.

Если Вы создаете/расширяете TextView, назовите setFocusable (ложь) на нем и затем установите его как активное представление, Ваше Действие все еще получит ключевые события. Необходимо будет передать все те события (шаровой манипулятор, касание, ключ) к дереву Представления вручную. (В Вашей функции "onKeyDown" необходимо было бы назвать соответствующий "onKeyDown" метод для высокоуровневого Представления), эффективно необходимо захватить понятие 'фокуса' и скупо выдать его к корректному представлению сами.

В то время как немного ужасный, это может дать Вам желаемые результаты.

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

0
ответ дан 14 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: