Я работаю над приложением, и я хочу интегрировать приложение Last.fm в него. В основном, когда кто-то смотрит на исполнителя в моем приложении, я хотел бы иметь кнопку, которую они могут нажать, чтобы открыть приложение Last.fm с информацией о художнике.Android: запуск активности для другого стороннего приложения
Это намерение работает, но он загружает меню спросит, какие приложения я хотел бы использовать (Browser или Last.fm):
Intent i = new Intent();
i.setData(Uri.parse("http://last.fm/music/" + headliner));
i.setAction("android.intent.action.VIEW");
startActivity(i);
Однако, я просто хочу, чтобы запустить приложение Last.fm и пропустить диалог запроса, который приложение использовать, я думал, возможно, используя метод setPackage() будет выглядеть так:
i.setPackage("fm.last.android");
Но это вызывает приложение к краху:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://last.fm/music/Rihanna pkg=fm.last.android }
Возможно ли запустить приложение Last.fm? Here's экземпляр AndroidManifest.xml Last.fm для справки.
Спасибо за чтение, Тони
Это взломать и не считать надлежащим способом вызова приложений. Thiis верный способ убедиться, что все виды ошибок будут отображаться – Falmarri
вы можете объяснить, почему это взломать? вы используете обычное намерение приложения, которое также было вызвано приложением запуска приложения, то есть когда вы нажимаете на значок приложения на главном экране? В любом случае, так что же лучше, чем вы предлагаете? –
Возможно, я неправильно понял. Если вы вызываете активность, которую запускает программа запуска, то я думаю, это должно быть хорошо. Я понял этот вопрос как вызов внутриотраслевой деятельности другого пакета. Это склонно ломаться, потому что эта деятельность может потребовать дополнительных утилит, которые могут вызвать сбой, или что-то в этом роде. Не видя кода, невозможно сказать, безопасно ли оно на 100%. – Falmarri