Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Взаимодействие с сторонними приложениями

#android #python #kivy


Возможно ли организовать взаимодействие из моего приложения с другими приложениями
в Android. Например со Steam приложением (именно мобильным приложением, не веб апи
и тд). К примеру, получить код авторизации (чтобы организовать авторизацию без лишних
кликов и вводов). Если что, код пишу на Kivy Python. Если нет, то можете подробно расписать,
как вообще в Android организованно взаимодействие с другими приложениями.
    


Ответы

Ответ 1



Наткнулся на пример интеграции WhatsApp в своё приложение: Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.setType("text/plain"); sendIntent.setPackage("com.whatsapp"); startActivity(sendIntent); В Web применяются трюки в виде ссылок: hi Посмотрите как работает декомпилированный клиент для того чтобы выяснить, есть ли у пакета подобные интерфейсы.

Ответ 2



Взаимодействие с другими приложениями на телефоне происходит через намерения. Например, инициировать телефонный звонок можно следующим образом: Uri number = Uri.parse("tel:5551234"); //в Uri указывается номер телефона Intent callIntent = new Intent(Intent.ACTION_DIAL, number); Подробнее смотрите тут. UPD: Пример НЕ с системными приложениями и функциями Подобно тому, как вы создаёте намерения с действием ACTION_SEND для отправки данных в другое приложение, вы можете создавать фильтры намерений для того, чтобы иметь возможность получать намерения с этим действием. Для этого вам нужно определить фильтр намерений в манифесте, используя элемент . Например, если ваше приложение обрабатывает прием текстового содержимого, ваш манифест должен выглядеть следующим образом: И в случае, когда другое приложение будет передавать с помощью намерения текст, передавая намерение в метод startActivity(), в числе приёмщиков этого намерения будет ваше приложение. И если из этого списка пользователь выберет ваше приложение, будет запущена соответствующая активность (.MainActivity в приведенном выше примере) вашего приложения. Именно тогда до вас, чтобы управлять содержимым надлежащим образом в пределах вашего кода и пользовательского интерфейса. Как обрабатывать принятый текст в вашем приложение дальше, зависит от вашего желания.

Комментариев нет:

Отправить комментарий