2012-04-02 11 views
17

¿Hay alguna manera de comenzar a reproducir una canción en la aplicación Google player player desde mi aplicación? Intento seguir el código, pero el reproductor de música de google solo abre los resultados de búsqueda. & no reproduce la canción.Problemas para reproducir una canción en el reproductor de Google Music

Intent intent = new Intent(); 
    intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH); 
    intent.putExtra(SearchManager.QUERY, "It's my life"); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.setPackage("com.google.android.music"); 
    activity.startActivity(intent); 

La documentación para INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH dice siguientes - la intención de realizar una búsqueda de medios de música y automáticamente reproducir contenido desde el resultado cuando sea posible.

De acuerdo con la documentación, debería poder reproducir la canción. Pero, solo abre los resultados de búsqueda y no los reproduce. ¿Alguna idea de lo que me falta aquí?

Gracias por cualquier ayuda que pueda ofrecer.

+0

¿Alguna suerte con esto? –

+0

Cualquier mensaje como "no se pudo preparar la mezcla instantánea, inténtelo de nuevo" de la música de google? – Karioki

Respuesta

0

Encontré una manera de hacer esto.

Intent intent = new Intent(); 
intent.setAction(android.content.Intent.ACTION_VIEW); 
File file = new File(YOUR_SONG_URI); 
intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
startActivity(intent); 
+0

Es cierto, esto funciona si tiene la ruta al archivo en el dispositivo. Pero no funcionará para la música de acceso total, por ejemplo. –

0
Intent i; 
PackageManager manager = getPackageManager(); 
try { 
i = manager.getLaunchIntentForPackage("com.google.android.music"); 
if (i == null) 
    throw new PackageManager.NameNotFoundException(); 
i.addCategory(Intent.CATEGORY_LAUNCHER); 
startActivity(i); 
} catch (PackageManager.NameNotFoundException e) { 
} 
+0

Esto acaba de lanzar la actividad principal de la aplicación ¿verdad? –

2

Argh, finalmente lo descubrió por conseguir un volcado de pila del proceso de reproducción de música. Debe agregar

intent.putExtra("queryComplete", "It's my life"); 

y todo funcionará. El valor debe ser el mismo que el SearchManager.QUERY adicional.

Cuestiones relacionadas