public static final int NOTIFICATION_ID = 1;
private NotificationManager notificationManager;
Codice per generare la notifica con l'icona ed il testo nella status bar. L'evento associato al clic sulla notifica e' quello di mettere in primo piano, nel caso fosse in background, l'applicazione
---------------------
public void sendNotification() {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setSmallIcon(R.drawable.ic_3);
// resume on notification tap Intent intent = new Intent(getApplicationContext(),MainActivity.class );
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
builder.setContentTitle("Title");
builder.setContentText("");
builder.setSubText("Tap per aprire");
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_ID, builder.build());
}
---------------------per rimuovere la notifica in uscita dall'applicazione
---------------------
@Overridepublic void onDestroy()
{
if (notificationManager == null) notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancelAll();
super.onDestroy();
}
---------------------La cosa piu' difficile da creare e' l'icona da mettere nella traybar. Io ci sono riuscito dopo un giorno di prove e non riesco a ricostruire quale sia stato il giusto procedimento. In alcuni casi l'icona era visualizzata come un quadrato bianco, in altri casi completamente trasparente... la soluzione dovrebbe essere mettere i livelli di grigio come livello di trasparenza (Gimp ha un menu' apposito) ma non sono sicuro che sia stato questo il passo giusto
Nessun commento:
Posta un commento