Запуск Google Карт и Навигатора из приложения для Android - PullRequest
2 голосов
/ 19 августа 2010

У меня есть приложение для Android, которое позволяет пользователю открывать карты Google или навигатор, чтобы показать определенный адрес. Эта функциональность работала в прошлом, но теперь я получаю следующую ошибку, и приложение вылетает:

ОШИБКА / AndroidRuntime (2165): android.content.ActivityNotFoundException: не найдено ни одного действия для обработки намерения

Два намерения, которые я использую, -

1) Для карты:

    String uri = "geo:0,0?q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";        
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(i); 

2) Для навигатора:

    String uri = "google.navigation:q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(i); 

Ответы [ 2 ]

7 голосов
/ 19 августа 2010

Ваш первый Intent должен подойти на многих устройствах, поскольку задокументирован и поддерживается .

Ваше второе намерение не документировано и не поддерживается AFAIK, поэтому вы не должны его использовать.

Кроме того, имейте в виду, что не каждое устройство Android будет иметь Карты Google или Навигацию. Используйте PackageManager и queryIntentActivities(), чтобы определить, будет ли что-либо реагировать на ваш Intent, а затем отключите пути пользовательского интерфейса, если это необходимо, чтобы пользователи не встретили исключение.

0 голосов
/ 17 октября 2012

Назначение для запуска навигатора:

Intent navigation = new Intent(Intent.ACTION_VIEW, Uri.parse(“http://
maps.google.com/maps?
saddr=42.35892,-71.05781&daddr=40.756054,-73.986951”));
 startActivity(navigation);

Более подробную информацию можно найти здесь .

...