package se.slide.timy;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
public class ShowNotification {
public static final String EXTRA_TITLE = "extra_title";
public static final String EXTRA_TEXT = "extra_text";
public static final String EXTRA_NOTIFICATION_ID = "extra_notification_id";
public static final String EXTRA_CODE = "extra_code";
public static void showNotification(Context ctx, int notificationId, String title, String text, int code) {
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(ctx)
.setSmallIcon(R.drawable.ic_launcher_bw)
.setAutoCancel(true)
.setContentTitle(title)
.setContentText(text);
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(ctx, MainActivity.class);
resultIntent.putExtra(EXTRA_CODE, code);
resultIntent.putExtra(EXTRA_TITLE, title);
resultIntent.putExtra(EXTRA_TEXT, text);
resultIntent.putExtra(EXTRA_NOTIFICATION_ID, notificationId);
// The stack builder object will contain an artificial back stack for
// the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(ctx);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(MainActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(notificationId, mBuilder.build());
}
}