Pergunta

No Stock Music Player no Android 2.1 (pelo menos), o artista, o álbum e o nome da faixa da faixa atualmente tocando são longos, o que traz um menu de contexto "Pesquise Nn com: ", com links para diferentes aplicativos.

ATUALIZAR

Consegui extrair os logs do meu próprio dispositivo, fazer uma pesquisa por um artista e selecionar o Google Ouça para concluir a ação:

03-02 11:59:34.551 I/ActivityManager(   86): Displayed activity com.android.music/.MediaPlaybackActivity: 1758 ms (total 1953 ms)
03-02 11:59:35.691 I/ActivityManager(   86): Starting activity: Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras) }
03-02 11:59:36.781 I/ActivityManager(   86): Displayed activity android/com.android.internal.app.ChooserActivity: 1036 ms (total 1036 ms)
03-02 11:59:38.191 I/ActivityManager(   86): Starting activity: Intent { act=android.intent.action.MEDIA_SEARCH flg=0x13000000 cmp=com.google.android.apps.listen/.SearchListActivity (has extras) }
03-02 11:59:38.511 D/Listen  (  491): Request search results for http://lfe-alpo-gm.appspot.com/search?q=Finntroll

Definitivamente vou perseguir isso sozinho, mas isso é bastante novo para mim. Eu apreciaria assistência aqui. O exposto acima significa que, desde que eu configure MEDIA_SEARCH Intenção como ponto de entrada para uma atividade, ele aparecerá na lista de seleção?

Foi útil?

Solução

Tudo bem, MEDIA_SEARCH era o caminho certo a seguir. Para referência:

Adicionar o filtro de intenção é suficiente para fazer o aplicativo aparecer na lista de seleção no media player:

<action android:name="android.intent.action.MEDIA_SEARCH" />

E então a ação pode ser recebida da seguinte forma:

final Intent queryIntent = getIntent();
final String queryAction = queryIntent.getAction();

if (MediaStore.INTENT_ACTION_MEDIA_SEARCH.equals(queryAction)) {
    String artist = queryIntent.getStringExtra(MediaStore.EXTRA_MEDIA_ARTIST);
    ...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top