2016-03-02 1 views
-1

Donc, j'ai un lecteur mp3. Je veux, que toute la lecture sera inexpérimentée, donc ça ne s'arrêtera pas. J'ai essayé des services, et j'ai plusieurs problèmes:Service mp3 Android

1. Service communication avec l'activité:
Je peux commencer le service avec les données passant dans l'intention
je peux envoyer par données resiever de diffusion de services à activité
Comment puis-je envoyer des données de l'activité au service?
Ai-je vraiment besoin de faire comme

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Flags flag = Flags.values()[intent.getIntExtra("flag", 0)]; 
    switch(flag) { 
     case Start: 
      //Starts the playback 
      break; 
     case Repeat: 
      //Do stuff 
      stopSelf() //How to stop it right: stop this, but leave first call? 
      break; 
     case Shuffle: 
      //Do stuff 
      stopSelf() 
      break; 
     case Move: 
      //Do stuff 
      stopSelf() 
      break; 
     case Song: 
      //Do stuff 
      stopSelf() 
      break; 
     case GetData: 
      //Do stuff 
      stopSelf() 
      break; 
     default: 
      //Do stuff 
      stopSelf() 
      break; 
    } 
    return START_STICKY; 
} 

Et chaque message me fait démarrer un nouveau service, avec toutes les conséquences

2. Service Immortal: Pour le service Immortal dois-je utiliser l'intention un service. Ou pas? Je n'ai pas trouvé trop de docs à ce sujet.

4. Notifications:
aussi, je veux faire quelque chose comme notification with control-buttons

5. Docs:
Je ne trouve pas trop docs à tous les services. Et ce que j'ai trouvé 2-3 ans = (
Je serai reconnaissant pour toute aide^_^
Au moins, disons, ce que je dois utiliser: service ou intentservice

+0

Je pense que je suis besoin d'un service de liaison:/ – Masafi

Répondre

0

Vous demandez trop . Les questions sur ce sujet, je vais essayer de mon mieux pour répondre autant que possible que je ne peux pas l'air de comprendre ce que vous dites

1. service communication avec l'activité. Si vous voulez communiquer entre un activité et un service utilisent un BroadcastReceiver

2. Contexte: Je ne sais pas ce que vous voulez vraiment dire ici, je suppose que vous voulez quelque chose qui ne sera pas tué lorsque votre application va à l'arrière-plan. Pour cela utiliser un Service. Un service est conçu pour exécuter du code lorsque votre application n'est pas au premier plan. Il s'exécute sur le thread principal comme une activité et il peut être tué lorsque le système est à court de mémoire

3. Ai-je besoin d'un service? Oui !! à moins que vous voulez que votre chanson (s) pour arrêter la lecture lorsque votre application va à l'arrière-plan

4. Notifications: Lire l'androïde developer guide

+0

1. Comment envoyer des données de l'activité au service courant? 2. Je veux dire service non qualifié. Mais le service simple est tué (quand j'appuie longuement sur le bouton home et que je tue mon application, le service s'arrête aussi), alors comment créer un service non qualifié? – Masafi

+0

Utilisez un BroadcastReceiver comme je l'ai dit. [Ceci] (http://www.tutorialspoint.com/android/android_broadcast_receivers.htm) tutoriel va vous montrer comment –

+0

Merci, j'ai essayé BR pour le faire, mais cela n'a pas fonctionné. Je vais essayer ce genre de choses – Masafi