Приветствую Вас ГостьВторник, 14.05.2024, 06:02

Каталог статей


Открытие внешних приложений через неявный вызов Intetn

Для открытия внешних установленных приложений надо использовать неявный вызов Intent, с установкой нужный данных для фильтров: action, data/

Для установки данных для Intent используется метод setData (Uri data). Uri - объект который содержит данные, передаваемые строкой и разбивает эти данные на части.

Чтобы открыть на карте геоточку надо передать строку типа "geo:55.754283,37.62002".

Чтобы открыть сайт нужна строка типа "http://developer.android.com".

Чтобы открыть стандартное окно набора номера нужна строка типа "tel:12345".

Пример кода для открытия геоточки на карте:

      Intent intent = new Intent();
      intent.setAction(Intent.ACTION_VIEW);
      intent.setData(Uri.parse("geo:55.754283,37.62002"));
      startActivity(intent);

Тип передаваемых данных можно определить по Scheme. Его можно получить методом uri.getScheme().

Он соответствует началу строки до символа ":". Например в строке "geo:55.754283,37.62002" Scheme = "geo".

Этот же Scheme можно настроить в Intent Filter и отсеивать Intent, только с нужным нам типом данных в Uri, например только http.

Например для отображения только web ссылок фильтр:

                        <intent-filter>
                                <action android:name="android.intent.action.VIEW"></action>
                                <data android:scheme="http"></data>
                                <category android:name="android.intent.category.DEFAULT"></category>
                        </intent-filter>

 

Категория: Программирование | Добавил: leshic (06.11.2022)
Просмотров: 165 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
Программирование [7]
Java [9]
Описание языка Java
API [0]
Примеры реализации задач [0]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0