Откройте намерение 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 за его усилия.

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