Может ли кто-нибудь помочь мне понять, почему это не работает?
Intent i = new Intent(Intent.ACTION_SEARCH);
i.setPackage("com.google.android.stardroid");
i.putExtra(SearchManager.QUERY, "mars");
startActivity(i);
Это в методе oncreate в основном действии. Я больше ничего не добавил в манифест.
Я получаю сообщение об ошибке: "Действия для обработки намерения не найдены".
Возможно ли, что приложение не установлено, или даже это сломанный?
да, вам нужно актуальное приложение карты неба, которое получит намерение.
ах, хорошо, это была моя проблема .... Спасибо! Есть ли способ обойти это? Думаю, для карт неба потребуется api ..
Что ты имеешь в виду? Наоборот, нужно убедиться, что приложение, которое вы хотите запустить, действительно установлено.
Извините, я имею в виду способ обойти необходимость установки приложения карты неба. Я чувствую, что пользователям будет сложно установить и мое приложение, и приложение карты неба.
Что делает ваше приложение?
Это приложение, основанное на астрономии. Он будет действовать как обучающий инструмент для астрономов-любителей, и я хотел иметь в нем функцию, похожую на карту неба, где пользователь мог бы найти планету, которую он хотел бы наблюдать. Это не будет основной задачей приложения, это всего лишь побочная функция.
Это обязательно должно сработать
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.stardroid");
if (launchIntent != null) {
startActivity(launchIntent);//null pointer check in case package name was not found
}
Может этот пост должен работать stackoverflow.com/questions/9157490/…