Запуск Android‑приложения Яндекс.Метро
Для запуска Яндекс.Метро из Android приложений, разрабатываемых на Java:
- Cоздайте объект типа
Intent
. - Передайте действие
ACTION_VIEW
(см. action) и URI в конструктор. - Вызовите метод
startActivity
классаContext
и соответствующее действию Activity запустится.
Примечание
Если Яндекс.Метро не установлено на устройстве, вызов метода startActivity
приводит к остановке приложения. Чтобы избежать этого, используйте метод queryIntentActivities
класса PackageManager
. В случае необходимости, откройте страницу Яндекс.Метро в Google Play или другом магазине приложений.
Uri uri = Uri.parse("yandexmetro://metro/moscow"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); // Проверяем, установлено ли хотя бы одно приложение, способное выполнить это действие. PackageManager packageManager = getPackageManager(); List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0); boolean isIntentSafe = activities.size() > 0; if (isIntentSafe) { startActivity(intent); } else { // Открываем страницу приложения Яндекс.Метро в Google Play. intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("market://details?id=ru.yandex.yandexmetro")); startActivity(intent); }
Используя URL схему Яндекс.Метро, вы также можете:
- Открыть схему метро города по умолчанию
- Открыть схему метро указанного города
- Проложить маршрут по схеме указанного города
Что-то пошло не так?
Если у вас возникли проблемы или вопросы при вызове Яндекс.Метро, напишите нам:
Обратная связь