Поисковое намерение не работает

Может ли кто-нибудь помочь мне понять, почему это не работает?

Intent i = new Intent(Intent.ACTION_SEARCH);
    i.setPackage("com.google.android.stardroid");
    i.putExtra(SearchManager.QUERY, "mars");
    startActivity(i);

Это в методе oncreate в основном действии. Я больше ничего не добавил в манифест.

Я получаю сообщение об ошибке: "Действия для обработки намерения не найдены".

Может этот пост должен работать stackoverflow.com/questions/9157490/…

Anubhav Gupta 10.08.2018 21:42
2
1
75
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Возможно ли, что приложение не установлено, или даже это сломанный?

да, вам нужно актуальное приложение карты неба, которое получит намерение.

Muhammad Zahab Ahmad Khan 10.08.2018 21:52

ах, хорошо, это была моя проблема .... Спасибо! Есть ли способ обойти это? Думаю, для карт неба потребуется api ..

Loken 10.08.2018 21:53

Что ты имеешь в виду? Наоборот, нужно убедиться, что приложение, которое вы хотите запустить, действительно установлено.

Neil 10.08.2018 21:56

Извините, я имею в виду способ обойти необходимость установки приложения карты неба. Я чувствую, что пользователям будет сложно установить и мое приложение, и приложение карты неба.

Loken 10.08.2018 22:14

Что делает ваше приложение?

Neil 10.08.2018 22:16

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

Loken 10.08.2018 22:19

Это обязательно должно сработать

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.stardroid");
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found
}

Другие вопросы по теме