Breve domanda:Come utilizzare NotificationCompat.Builder e startForeground?
Sto cercando di utilizzare la classe NotificationCompat.Builder per creare una notifica che verrà utilizzata per il servizio, ma per qualche motivo, non vedo la notifica o posso cancellarlo quando il servizio dovrebbe essere distrutto (o fermarsi dall'essere in primo piano).
il mio codice:
@Override
public int onStartCommand(final Intent intent, final int flags, final int startId) {
final String action = intent == null ? null : intent.getAction();
Log.d("APP", "service action:" + action);
if (ACTION_ENABLE_STICKING.equals(action)) {
final NotificationCompat.Builder builder = new Builder(this);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setContentTitle("content title");
builder.setTicker("ticker");
builder.setContentText("content text");
final Intent notificationIntent = new Intent(this, FakeActivity.class);
final PendingIntent pi = PendingIntent.getActivity(this, 0, notificationIntent, 0);
builder.setContentIntent(pi);
final Notification notification = builder.build();
// notification.flags |= Notification.FLAG_FOREGROUND_SERVICE;
// notification.flags |= Notification.FLAG_NO_CLEAR;
// notification.flags |= Notification.FLAG_ONGOING_EVENT;
startForeground(NOTIFICATION_ID, notification);
// mNotificationManager.notify(NOTIFICATION_ID, notification);
} else if (ACTION_DISABLE_STICKING.equals(action)) {
stopForeground(true);
stopSelf();
// mNotificationManager.cancel(NOTIFICATION_ID);
}
return super.onStartCommand(intent, flags, startId);
}
I comandi commentati sono le mie prove per farlo funzionare. nessuno ha funzionato per qualche motivo.
Ho persino aggiunto un'attività falsa poiché desiderava contentIntent, ma non funziona ancora.
Qualcuno può aiutare per favore?
Questo post, insieme con la risposta accettata, fisso il mio problema dopo aver lavorato per giorni su una soluzione. –