java - Android 有关于后台播放音乐的问题
PHPz
PHPz 2017-04-17 17:36:33
0
3
453

最近在做一个音乐播发器,我把播放音乐这个功能写在一个服务里,再和播放的界面进行绑定,注意是BindService而不是StartService。当我播放界面finish()后并且按理说服务也自动销毁了,但是音乐仍在播放,我用的是MediaPlayer类播放的音乐,不知道为什么,求大神告知。

PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
PHPzhong

Avez-vous appelé unBind avant de terminer ?

伊谢尔伦

BindService ne sera pas détruit tant qu'il y aura une autre activité liée à ce service. Il doit attendre que toutes les activités aient appelé unbound() avant de pouvoir être détruit.


Schéma du cycle de vie du service

Une expérience pratique consiste à envoyer un message au service avant le unBound() de l'activité pour indiquer au service que l'activité doit être dissociée. Cet article de blog contient du code source et une introduction à la communication inter-processus Android BoundService <.>

De plus, Mediaplayer appelle-t-il release() dans onDestroy du service ?

小葫芦

Seule l'interface de lecture actuelle y est liée, et le lecteur multimédia n'est pas publié dans le service. Mais logiquement, puisque mon activité est terminée et que le service lié a été détruit, le lecteur multimédia du service devrait également être détruit.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal