Что такое Android Intent или триггер, отвечающий за отображение системного представления по умолчанию (выбор / выбор)

[Версия / редактирование #4] МЕНЮ ANDROID SHARE / ПРОГРАММА FOSS

В настоящее время я подробно определяю свои требования и нуждаюсь в некотором руководстве...

Извините за мой многословный вопрос, это не повторение на сайте SO (насколько мне известно.) Дайте мне знать, чего не хватает в моем вопросе, и я добавлю все, что вам нужно. Я перечислю мои связанные вопросы и добавлю контекст и детали ниже.

Я спрашиваю конкретно о том, как работают внутренние устройства Android OS/Framework INTENT, когда использование намерений приводит к отображению выбора системного ресурса. Я не понимаю Как заставить систему выбирать между моим представлением общего ресурса и существующим по умолчанию? (т. е. возможно использование обходного пути (en/dis)).

Я НЕ спрашиваю об общих меню и кнопках, которые могут быть включены в мое приложение. Эта тема широко освещается в SO, и у меня есть отличный материал от SO.

Меня интересуют все связанные примеры кода или ссылки, включая нативный (jni) код на C++. Ядро, конечно, вне моего понимания, но мне интересно, где оно связано. У меня есть базовое понимание контекстов, процессов виртуальных машин, межпроцессного взаимодействия, сервисов и разрешений. У меня очень минимальное понимание структуры хранилища исходного кода Android.

Вопросы:

1) Я предполагаю, что есть (внутреннее) намерение и категория, которые вызывают отображение параметров "поделиться" (т. Е. Когда они неявные). Я видел приглашение выбрать в системе обработчик общего ресурса по умолчанию, например (после установки Anymade.) Может кто-нибудь сказать мне, что это за намерение + категория или объяснить, как она обрабатывается, если я ошибаюсь?

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

2) Вызывает ли вызов класса инструментария execStartActivity отображение представления общего ресурса из-за того, что список приложений Intent изменился, у него нет значения по умолчанию или доступно несколько (неразрешенных) вариантов выбора?

3) По поводу использования поиска с использованием AD (Android SDK Search) и?ARN? в браузере: какие поисковые термины дадут мои лучшие результаты в моем желании покопаться в этой области и раскрыть внутреннюю часть ОС (какие термины для кода / классов / методов / и т. д.?)

4) Я работаю здесь с системой Windows и у меня не будет двойной загрузки по крайней мере месяц. Я собираюсь загрузить загрузить репозиторий AOSP. Я не могу сделать сборку, поэтому любые советы, касающиеся IDE/tools/browser-addons, были бы полезны, так как отслеживание кода внутри классов.

Если этот 4-й вопрос нарушает условия обслуживания, я могу удалить его, но в частном порядке свяжусь с вашими рекомендациями по адресу: david [underscore] horsman [at] hotmail [dot] com.

5) Как называется класс, отображающий представление выбора общего ресурса? Могу ли я получить некоторые ссылки на Google Source и AOSP, связанные с этим?


СЛИШКОМ долго не читал вещи:

ССЫЛКИ ПО ТЕМЕ:

  • Для общего обсуждения намерений и манифестов, касающихся LAUNCHER и HOME, это было хорошо:

Манифест для домашнего намерения и намерения запуска

  • Если вы заинтересованы в широком списке намерений, это было действительно хорошо:

Есть ли способ перечислить все Intents и все процессы, связанные с ними?

Выражение grep позволяет отлавливать только те строки, которые заканчиваются намерением (отрываться). Может не хватать всех, но это хорошее начало.

SIDESYNC.action.CTRL_PRESSED_STATE_EVENT:
SIDESYNC.action.EXIST_TEXT_BEFORE_CURSOR_STATE_EVENT:
SIDESYNC.action.INPUT_TEXT_EVENT (IT'S A REALLY LONG LIST...)
  • Существует способ обхода использования намерений, который запускает средство выбора действий по умолчанию:

потерянная ссылка:

цитата:


Текущее состояние и информация, переписывание вопросов и заметок:

1) Какая категория intent+ запускает системное представление по умолчанию? Все, вероятно, знакомы с тем, как включить действия, намерения, категории и фильтры в манифест. Я обнаружил, что эти (несомненно знакомые) действия и категории связаны с моей темой:

  • Действие: ГЛАВНАЯ
  • Действие: ОТПРАВИТЬ
  • Действие: SENDTO
  • Категория: LAUNCHER
  • Категория: ПО УМОЛЧАНИЮ
  • MimeType: /

2) Как в результате вызова класса инструментария execStartActivity отображается представление общего ресурса по умолчанию? Инструментарий вызова. Существует четыре варианта execStartActivity. IE:

public void execStartActivitiesAsUser(Context who, IBinder contextThread,
IBinder token, Activity target, Intent[] intents, Bundle options,
int userId)

3) Мне нравится команда chrome omnibox AD и другие команды (LOST Android Native / C++), которые можно найти здесь:

  • Ссылка Chrome AD Ominbox: здесь

  • Ссылка команды Chrome Android Native Runtime Omnibox: (ПОТЕРЯЛ. Все еще ищите...)

4) приветствуются советы, касающиеся IDE/tools/browser-addons... Текущий / временный стек разработки используется:

  • IDE: Android Studio, Eclipse EE, Visual Studio, VS Code, SCiTe.
  • Языки и структура: JavaScript, NodeJS, React, GraphQL, Java, Rust, C#, .Net.
  • Другое: SQlite3, MongoDB, JSON, HTML5, CSS, OWL, REST, варианты Bootstrap, различные...
  • ФОКУС: FOSS оценки. Github. Whonix. Android. Социальные медиа. NN.

5) Я не совсем понимаю, как называется класс, отображающий представление выбора общего ресурса? * Я вижу, что Intents прошел несколько ревизий под Android, и часть кода можно найти в библиотеках поддержки V4 и V7. * Кажется, по крайней мере три сгенерированных представления (например, у класса Activity Helper есть одно) (LINK NEEDED) * Прямо сейчас я подозреваю, что код общего доступа будет найден на уровне фреймворка C++. * То же самое относится к обнаружению и обработке выбора действий по умолчанию. * Пожалуйста, посмотрите приложение Android AnyMade как отличный пример улучшения пользовательского интерфейса. Престижность.


Обзор проекта и контекст вопроса:

Этот проект будет разветвлять буфер обмена. Найдено здесь: https://github.com/heruoxin/Clip-Stack

Я в настоящее время нахожусь на стадии / заинтересованной стороны / стадии разработки проекта. Он мотивирован внешними требованиями, связанными с еще одним заданием.

Следующие изменения будут сделаны (КАК ДАЛЕКО, КАК Я ЗНАЮ)

I) Любые типы MIME, связанные с разметкой, будут добавлены к существующей обработке типов элементов буфера обмена.

II) Будет добавлен поставщик контента, который будет обращаться к истории буфера обмена в качестве источника данных. База данных SQLite3 будет помещена в общую папку.

III) Будет создано отдельное сопутствующее приложение (ТЕМА ЭТОГО ВОПРОСА), которое заменит и / или расширит обработчик общего ресурса. Это будет включать в себя глубокий обмен.

IV) Без сомнения, появятся другие проблемы и улучшения. Основное внимание уделяется эффективности и снижению нажатий клавиш в пользовательском интерфейсе.

V) Примечание. Также необходимо устранить внезапные обновления пользовательского интерфейса (в Android), которые в настоящее время присутствуют в режиме глубокого обмена, когда контакты возвращаются в "shareUI". Другой пример - при добавлении к "моменту" в Твиттере (мобильном) пользовательский интерфейс внезапно прибегает через несколько секунд.


Заключительные замечания: Спасибо всем, кто нашел время, чтобы прочитать это, и я был бы признателен за любую помощь, которую вы можете предоставить.

Также большое спасибо всем за этот удивительный технический материал, который я нашел здесь!!! Это было бы чрезвычайно сложно без использования SO сообщества в качестве ресурса! С уважением, Дэвид Дж. Хорсман

[Vs1 - Вопросы и примечания] [Vs2 - Связанные ссылки и форматирование] [Vs3 - Исправления и опечатки] [Vs4 - Четкость и форматирование]

0 ответов

Другие вопросы по тегам