Запуск Android‑приложения Яндекс.Метро

Для запуска Яндекс.Метро из Android приложений, разрабатываемых на Java:

  1. Cоздайте объект типа Intent.
  2. Передайте действие ACTION_VIEW (см. action) и URI в конструктор.
  3. Вызовите метод 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 схему Яндекс.Метро, вы также можете:

Что-то пошло не так?

Если у вас возникли проблемы или вопросы при вызове Яндекс.Метро, напишите нам:

Обратная связь