Страницы

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

суббота, 14 декабря 2019 г.

Отмена запуска intent при отсутствии программы-обработчика

#android


Хочу запустить intent навигации в приложении, сейчас столкнулся с проблемой: 

в случае отсутствия приложения GoogleНавигация на телефоне, приложение крашится. 

Как добавить условие, чтобы при отсутствии вышеуказанного приложения, выводилось,
например, Toast-сообщение, указывающее на отсутствие приложения для навигации? 

button_navi.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent33 = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("google.navigation:q=Россия+Самара+Ленина+34"));
            startActivity(intent33);
        }
    });

    


Ответы

Ответ 1



Можно так же проверить на наличие Google Maps вот таким способом: public boolean isGoogleMapsInstalled() { try { ApplicationInfo info = getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0 ); return true; } catch(PackageManager.NameNotFoundException e) { return false; } }

Ответ 2



if (intent.resolveActivity(getPackageManager()) != null) startActivityForResult(intent, 0); else ... https://stackoverflow.com/questions/11073832/no-activity-found-to-handle-intent

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

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