¿Es posible saltar la pista de una aplicación de Android?

Estoy pensando en hacer una aplicación para Android 2.1 que cambia la canción cada minuto (a través de lo que espero que existe en Android, "siguiente") para la aplicación utilizando el dispositivo de audio atm.

Así que si ya tengo Spotify funcionando en segundo plano, tocando música, ¿puedo cambiar mi programa a la siguiente pista?

Déjame saber si no estaba claro acerca de nada. ¡Gracias por adelantado!

No hay ninguna API universal de transporte de audio para aplicaciones de música, por lo que necesitaría ver si las aplicaciones de música que está orientando exponen públicamente enlaces de servicio o intentos. Si no es así, no podrá hacer esto.

Sé que esta es una pregunta un poco vieja, pero me tomó algo de tiempo buscando algo más que lo que se menciona aquí.

Hay una solución alternativa: acción de botón de medios de difusión. Hay una captura – el receptor puede reconocer si la difusión era del sistema o de otra aplicación, así que pueden pasar por alto las transmisiones del non-system.

Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON); synchronized (this) { i.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_NEXT)); sendOrderedBroadcast(i, null); i.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_NEXT)); sendOrderedBroadcast(i, null); } 

Acaba de publicar una respuesta relevante aquí

El uso del método dispatchMediaKeyEvent () de AudioManager con un KeyEvent definido funcionó para mí utilizando el SDK más reciente.

El widget de pantalla de inicio de música del sistema envía esta intención para el reproductor de música incorporado:

  final ComponentName serviceName = new ComponentName(context, MediaPlaybackService.class); intent = new Intent(MediaPlaybackService.NEXT_ACTION); intent.setComponent(serviceName); pendingIntent = PendingIntent.getService(context, 0 /* no requestCode */, intent, 0 /* no flags */); views.setOnClickPendingIntent(R.id.control_next, pendingIntent); 

Pero parece que esto podría tomar algo de hackery para implementar paquetes externos en la aplicación de música en sí porque el MediaPlaybackService sólo acepta Intents explícito y no es accesible desde el exterior. Este hilo parece indicar que es posible con un poco de hackery, sin embargo.

Pero incluso entonces, como dijo Roman, no todos los reproductores de música respetarán esa Intención. Tendrás que comprobar con Spotify / Pandora / Last.fm ellos mismos y ver si tienen alguna intención disponible para obligar así.

  • ¿Cómo puede una aplicación Android funcionar como un controlador remoto a una aplicación de escritorio? (Spotify)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.