Откройте намерение Android с помощью определенного приложения (имя пакета известно)
Моя проблема в том, что у меня есть намерение, подобное этому.
Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.putExtra(MediaStore.EXTRA_MEDIA_FOCUS, MediaStore.Audio.Artists.ENTRY_CONTENT_TYPE);
intent.putExtra(MediaStore.EXTRA_MEDIA_ARTIST, artist);
intent.putExtra(SearchManager.QUERY, artist);
if(intent.resolveActivity(getPackageManager()) != null)
{
startActivity(intent);
}
И что происходит, когда я тестирую приложение, которое запрашивает открытие. Так что, если я открою стандартное музыкальное приложение для Android, оно не откроется, но когда я использую музыку Google, оно работает как шарм.
Так что, если нет выбора, и я должен использовать музыку Google, так как никто не мог ответить на этот вопрос, я предполагаю, что это - некоторая проблема, которую я не знаю. Но, по крайней мере, есть способ установить его так, чтобы он открывался только через музыкальное приложение Google. Например, установить музыку googlw в качестве приложения по умолчанию, чтобы открыть конкретное намерение, отправленное только моим приложением, без ущерба для любого другого процесса.
Я новичок в Android. И пожалуйста. пожалуйста. Помоги мне.
1 ответ
Как это устроено.
Я прочитал в определенной статье переполнения стека, я не знаю, какой. Но парень упомянул, что для ограничения намерения отправки вы можете использовать intent.setClass
однако для этого необходимо знать имя действия, а также имя пакета. Но я не знаю название деятельности. Так что на догадках я пытался использовать intent.setPackage
и бум это сработало. Я также хотел бы поблагодарить giorashc за его усилия.