2013-03-09 4 views
7

Sto cercando di impostare la mia notifica barra di stato icona come animato android.R.drawable.stat_sys_upload, funziona benissimo, ma l'icona non si animano:Android - Visualizza barra di stato animato icona

private void showStatusNotification() { 

    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

    Builder notificationBuilder = new NotificationCompat.Builder(this); 
    notificationBuilder.setAutoCancel(false); 
    notificationBuilder.setOngoing(true); 
    notificationBuilder.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, 
      MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT)); 
    notificationBuilder.setContentTitle(getString(R.string.notification_title)); 
    notificationBuilder.setContentText(getString(R.string.notification_text)); 
    notificationBuilder.setSmallIcon(android.R.drawable.stat_sys_upload); 
    notificationManager 
      .notify(STATUS_NOTIFICATION_ID, notificationBuilder.build()); 
} 

risposta

10

Il la soluzione è semplice, ma molto difficile. Devi solo aggiungere

notificationBuilder.setTicker(getString(R.string.notification_ticker)); 

la magia accade e la tua icona è animata. È legato a questo bug:

http://code.google.com/p/android/issues/detail?id=15657

Speranza che aiuta qualcuno.

2

Solo per aggiungere alla risposta di @ gingo, nel caso in cui non si desideri visualizzare alcun testo nella barra di stato, mantenere la stringa notification_ticker come vuota in strings.xml (che è abbastanza ovvio).

Inoltre, se si desidera che l'icona animata per fermare dopo l'avanzamento o il download/upload ha completato quindi impostare l'icona di ricerca simile alla vostra notificationBuilder e chiamare il metodo notify sul gestore notifica,

mBuilder.setSmallIcon(R.drawable.ic_download); 
mNotifyManager.notify(0, mBuilder.build());