7

Sto cercando di ottenere la mia notifica in corso per avere un pulsante, quando viene cliccato dovrebbe chiamare il mio servizio che sta controllando la riproduzione audio.Azione di notifica Android che non chiama l'intenzione in sospeso per il servizio

Qui è la mia comunicazione con l'intento

 Intent intent = new Intent(context, AudioStreamService.class); 


    Random generator = new Random(); 


    PendingIntent i = PendingIntent.getActivity(context, 579, intent,PendingIntent.FLAG_UPDATE_CURRENT); 


    final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) 
      .setSmallIcon(R.drawable.ic_launcher) 
      .setContentTitle(title) 
      .setContentText(text) 
      .setPriority(NotificationCompat.PRIORITY_DEFAULT) 
      .setLargeIcon(picture) 
      .setTicker(ticker) 
      .setNumber(number) 
      .setOngoing(true) 
      .addAction(
       R.drawable.ic_action_stat_reply, 
       res.getString(R.string.action_reply), 
       i); 

    notify(context, builder.build()); 

Ecco l'all'avvio per il mio servizio

public int onStartCommand(Intent intent, int flags, int startId) { 
    Log.e("APP ID", "APP ID - service called "); 

    if(isPlaying){ 
     stop(); 
    } 
    else { 
     play(); 
    } 
    return Service.START_STICKY; 
} 

Il registro non viene mai attivato quando chiamato dall'azione nella notifica. Ma il servizio è utilizzato da un pulsante nell'app e funziona perfettamente. Il registro viene chiamato come i comandi di seguito.

risposta

13

Usa:

PendingIntent pendingIntent = PendingIntent.getService(context, 579, intent,PendingIntent.FLAG_UPDATE_CURRENT); 

invece di:

PendingIntent pendingIntent = PendingIntent.getActivity(context, 579, intent,PendingIntent.FLAG_UPDATE_CURRENT); 

^^ Questo viene utilizzato per avviare un'attività dalla notifica.

+0

Fantastico, grazie! – Dandrews