2012-09-24 15 views
18

Io uso il NotificationCompat.Builder per visualizzare la mia notifica tramite le versioni di Android e utilizzare un layout personalizzato per la notifica.
Il layout personalizzato funziona bene su Android 3 e versioni successive (API livello 11), ma non viene visualizzato al livello API 10 o inferiore. L'ho provato su 2.3 e 2.2 nell'emulatore.Il layout delle notifiche personalizzate non funziona su Android 2.3 o inferiore

Heres il mio codice:

Builder builder = new NotificationCompat.Builder(getApplicationContext()); 

    RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_layout); 
    contentView.setImageViewResource(R.id.notImage, R.drawable.stat_icon); 
    contentView.setTextViewText(R.id.notTitle, getResources().getString(R.string.streamPlaying)); 
    contentView.setTextViewText(R.id.notText, StartActivity.streamName + " " + getResources().getString(R.string.playing)); 

    builder 
      .setContentTitle(getResources().getString(R.string.streamPlaying)) 
      .setContentText(StartActivity.streamName + " " + getResources().getString(R.string.playing)) 
      .setSmallIcon(R.drawable.stat_icon) 
      .setContentIntent(pendingIntent) 
      .setOngoing(true) 
      .setWhen(0) 
      .setTicker(StartActivity.streamName + " " + getResources().getString(R.string.playing)) 
      .setContent(contentView); 

    not = builder.build(); 

veramente di base. Il file di layout è corretto, è lo stesso del tutorial di notifica su android.com, per assicurarmi di non aver commesso errori. ;)
Ricorda: funziona bene su 3.0 e versioni successive, ma non su 2.3 e versioni precedenti.

risposta

37

Questo potrebbe essere un bug nella libreria di supporto - vedere this issue.

Potrebbe essere necessario lavorare intorno ad esso applicando direttamente la contentView:

not.contentView = contentView; 
+1

Oh yeah. Bugs. Grazie mille, ci proverò. – Leandros

+3

Layout funziona finora su 2.3 e versioni precedenti, ma non riesco a fare clic sul pulsante che ho aggiunto. Funziona solo su Android 3 e versioni successive ... – Leandros

+3

@Leandros, il supporto per i pulsanti di selezione nelle notifiche non è stato aggiunto prima di Android 3.0. – Justin

Problemi correlati