Ho avuto un problema con NotificationManager nella mia app negli ultimi due giorni e non sembra che mi stia avvicinando a risolverlo.NotificationManager non riesce a visualizzare la notifica con "notifica: id corrotto: inviato 1, ripristinato 0" avviso
Ho un servizio molto semplice che non fa nulla al momento. E 'solo suppone che la notifica di visualizzazione:
public class UpdateService extends Service {
private static final String TAG = "UpdateService";
private static int NOTIFICATION_ID = 1;
private UpdateServiceBinder binder = new UpdateServiceBinder();
@Override
public void onCreate() {
Log.i(TAG, "Service created");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "Service started");
sendNotification(100);
return Service.START_NOT_STICKY;
}
private void sendNotification(int updatedItems) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(R.drawable.icon)
.setContentTitle("Sync")
.setContentText("Updated " + updatedItems);
Intent resultIntent = new Intent(getBaseContext(), MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(getApplicationContext());
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendindIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(resultPendindIntent);
NotificationManager manager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(NOTIFICATION_ID, builder.build());
}
@Override
public IBinder onBind(Intent intent) {
return binder;
}
@Override
public boolean onUnbind(Intent intent) {
return true;
}
public class UpdateServiceBinder extends Binder {
public UpdateService getService() {
return UpdateService.this;
}
}
}
Purtroppo, quando il servizio viene avviato e la notifica dovrebbe essere visualizzato non succede nulla. Il servizio è sicuramente avviato in base ai messaggi di registro. Allo stesso tempo, non v'è di avviso da NotificationManager:
11-30 23: 24: 34,620: I/UpdateService (28356): Servizio creato
11-30 23: 24: 34,800: I/UpdateService (28356): Il servizio è iniziato
11-30 23: 24: 34,808: W/NotificationManager (28356): comunicare: id danneggiati: inviato 1, tornato 0
ho provato ad utilizzare numeri diversi rispetto 1 ma non ha aiutato. Non sono sicuro di cosa trarne. Il codice che sto utilizzando proviene dalla documentazione di Android sul servizio in here e le notifiche in here. Quando isola il codice in un'app pulita separata che è configurata in modo simile a quello su cui sto lavorando, la notifica viene visualizzata correttamente. Qualcuno ha avuto questo problema prima o ha qualche idea?
Qualsiasi aiuto apprezzato. Grazie!
ho fatto lo stesso e ha funzionato .. non so perché –
ho fatto lo stesso e ha funzionato :) –