List of usage examples for android.support.v4.app TaskStackBuilder getPendingIntent
public PendingIntent getPendingIntent(int requestCode, int flags)
From source file:Main.java
public static NotificationCompat.Builder buildNotification(Context context, Class<?> cls, int icon, int title, String text) {/*from w ww . ja va 2 s . c o m*/ Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder builder = new NotificationCompat.Builder(context).setSmallIcon(icon) .setContentTitle(context.getString(title)).setContentText(text).setAutoCancel(true).setSound(sound) .setTicker(text); Intent intent = new Intent(context, cls); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context).addParentStack(cls).addNextIntent(intent); PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); return builder; }
From source file:Main.java
public static void showNotification(long id, String titleString, String messageString, int iconResId, Context context, Class<?> className) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context).setSmallIcon(iconResId) .setContentTitle(titleString).setStyle(new NotificationCompat.BigTextStyle().bigText(messageString)) .setContentText(messageString); Intent intent = new Intent(context, className); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(className); stackBuilder.addNextIntent(intent);/*from ww w. j a v a 2 s . c o m*/ PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)); NotificationManager mNotificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = mBuilder.build(); notification.flags = Notification.FLAG_AUTO_CANCEL; mNotificationManager.notify((int) id, notification); }
From source file:org.openmrs.mobile.utilities.NotificationUtil.java
public static void notify(String title, String message) { Bitmap bitmap = BitmapFactory.decodeResource(OpenMRS.getInstance().getResources(), R.drawable.ic_openmrs); NotificationCompat.Builder mBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder( OpenMRS.getInstance()).setSmallIcon(R.drawable.ic_openmrs).setLargeIcon(bitmap) .setContentTitle(title).setContentText(message); Intent resultIntent = new Intent(OpenMRS.getInstance(), DashboardActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(OpenMRS.getInstance()); stackBuilder.addParentStack(DashboardActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); mBuilder.setAutoCancel(true);// w ww.java 2 s. c o m NotificationManager mNotificationManager = (NotificationManager) OpenMRS.getInstance() .getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(0, mBuilder.build()); }
From source file:bucci.dev.freestyle.NotificationCreator.java
public static void createTimerRunningNotification(Context context, String startPauseButtonState, long timeLeft, TimerType timerType, boolean extraButtonVisibleState) { NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.bft_icon_gray) .setContentTitle(context.getString(R.string.notification_timer_running_text)).setAutoCancel(true) .setOngoing(true);/*from w w w . j a v a 2 s . com*/ Intent resultIntent = new Intent(context, TimerActivity.class); resultIntent.putExtra(StartActivity.TIMER_TYPE, timerType); resultIntent.putExtra(TimerActivity.START_PAUSE_STATE_PARAM, startPauseButtonState); resultIntent.putExtra(TimerActivity.TIME_LEFT_PARAM, timeLeft); if (extraButtonVisibleState) resultIntent.putExtra(TimerActivity.SHOW_EXTRA_ROUND_BUTTON_PARAM, true); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(TimerActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(resultPendingIntent); NotificationManager mNotificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(NOTIFICATION_TIMER_RUNNING, builder.build()); }
From source file:com.vonglasow.michael.satstat.utils.PermissionHelper.java
/** * Requests permissions to be granted to this application. * /*from ww w . j a v a 2s . c om*/ * This method is a wrapper around * {@link android.support.v4.app.ActivityCompat#requestPermissions(android.app.Activity, String[], int)} * which works in a similar way, except it can be called from non-activity contexts. When called, it * displays a notification with a customizable title and text. When the user taps the notification, an * activity is launched in which the user is prompted to allow or deny the request. * * After the user has made a choice, * {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[])} * is called, reporting whether the permissions were granted or not. * * @param context The context from which the request was made. The context supplied must implement * {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback} and will receive the * result of the operation. * @param permissions The requested permissions * @param requestCode Application specific request code to match with a result reported to * {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[])} * @param notificationTitle The title for the notification * @param notificationText The text for the notification * @param notificationIcon Resource identifier for the notification icon */ public static <T extends Context & OnRequestPermissionsResultCallback> void requestPermissions(final T context, String[] permissions, int requestCode, String notificationTitle, String notificationText, int notificationIcon) { ResultReceiver resultReceiver = new ResultReceiver(new Handler(Looper.getMainLooper())) { @Override protected void onReceiveResult(int resultCode, Bundle resultData) { String[] outPermissions = resultData.getStringArray(Const.KEY_PERMISSIONS); int[] grantResults = resultData.getIntArray(Const.KEY_GRANT_RESULTS); context.onRequestPermissionsResult(resultCode, outPermissions, grantResults); } }; Intent permIntent = new Intent(context, PermissionRequestActivity.class); permIntent.putExtra(Const.KEY_RESULT_RECEIVER, resultReceiver); permIntent.putExtra(Const.KEY_PERMISSIONS, permissions); permIntent.putExtra(Const.KEY_REQUEST_CODE, requestCode); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addNextIntent(permIntent); PendingIntent permPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.Builder builder = new NotificationCompat.Builder(context).setSmallIcon(notificationIcon) .setContentTitle(notificationTitle).setContentText(notificationText).setOngoing(true) //.setCategory(Notification.CATEGORY_STATUS) .setAutoCancel(true).setWhen(0).setContentIntent(permPendingIntent).setStyle(null); NotificationManager notificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(requestCode, builder.build()); }
From source file:org.jorge.lolin1.func.chat.ChatNotificationManager.java
public static synchronized void createOrUpdateMessageReceivedNotification(Context context, String contents, Friend friend) {/* ww w. ja v a2 s.c om*/ String name, previousNotificationContents, newContents; NotificationCompat.Builder builder = new NotificationCompat.Builder(context); boolean notificationFound = NOTIFICATION_ID_MAP.containsKey(name = friend.getName()); NotificationManager notificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); int id; if (!notificationFound) { builder = new NotificationCompat.Builder(context); id = NOTIFICATION_ID_MAP.size(); NOTIFICATION_ID_MAP.put(name, id); previousNotificationContents = ""; } else { id = NOTIFICATION_ID_MAP.get(name); previousNotificationContents = LAST_NOTIFICATION_CONTENTS.get(name); } builder.setSmallIcon(R.drawable.icon_app); builder.setContentTitle(name); builder.setStyle(new NotificationCompat.BigTextStyle() .bigText(newContents = previousNotificationContents + "\n" + contents)); builder.setAutoCancel(Boolean.TRUE); Intent resultIntent = new Intent(context, ChatRoomActivity.class); resultIntent.putExtra(ChatOverviewActivity.KEY_FRIEND_NAME, name); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(ChatRoomActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(resultPendingIntent); notificationManager.notify(id, builder.build()); LAST_NOTIFICATION_CONTENTS.put(name, newContents); }
From source file:com.fjoglar.etsitnoticias.view.notification.Notification.java
public static void createNotification(Context context) { if (needToNotify()) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context); if (mNewsCount == 1) { NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle(); bigTextStyle.bigText(mNotificationDesc.get(0)) .setSummaryText(context.getResources().getString(R.string.app_name)); // Create the notification. mBuilder.setSmallIcon(R.drawable.ic_notification).setContentTitle(mNotificationText.get(0)) .setContentText(mNotificationDesc.get(0)) .setColor(context.getResources().getColor(R.color.colorPrimary)) .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) .setAutoCancel(true).setStyle(bigTextStyle); } else {/*w ww. j a v a 2s . c o m*/ NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); inboxStyle.setBigContentTitle(context.getResources().getString(R.string.app_name)); inboxStyle.setSummaryText("Tienes " + mNewsCount + " noticias nuevas."); for (String notificationTxt : mNotificationText) { inboxStyle.addLine(notificationTxt); } // Create the notification. mBuilder.setSmallIcon(R.drawable.ic_notification) .setContentTitle(context.getResources().getString(R.string.app_name)) .setContentText("Tienes " + mNewsCount + " noticias nuevas.") .setColor(context.getResources().getColor(R.color.colorPrimary)) .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) .setAutoCancel(true).setStyle(inboxStyle); } Intent resultIntent = new Intent(context, NewsListActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); NotificationManager mNotificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(ETSIT_NEWS_NOTIFICATION_ID, mBuilder.build()); } // Clear values for next notifications. mNewsCount = 0; mNotificationText.clear(); }
From source file:com.myfuture.util.FavoritesNotificationReceiver.java
/** * Shows a notification for the given talk. Clicking the notification will * open the talk.//from w w w . j ava 2s . co m */ private static void showStartNotification(Talk talk, final Context context) { if (!talk.isDataAvailable()) { throw new RuntimeException("Talk should have been fetched."); } // Set up an Intent to open the talk, with the back button going back to // the schedule. Intent talkIntent = new Intent(context, TalkActivity.class); talkIntent.setData(talk.getUri()); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(TalkActivity.class); stackBuilder.addNextIntent(talkIntent); PendingIntent talkPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); // Build the UI for the notification. NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setSmallIcon(R.drawable.light_rating_important); builder.setContentTitle(talk.getTitle()); builder.setContentText("Starts in 5 minutes in " + talk.getRoom().getName()); builder.setContentIntent(talkPendingIntent); builder.setAutoCancel(true); builder.setVibrate(VIBRATION); Notification notification = builder.build(); /* * Display the notification. We use the label "start" to identify this * kind of notification. That would be useful for cancelling the * notification if we wanted. */ NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); manager.notify("start", talk.getObjectId().hashCode(), notification); }
From source file:org.enbyted.android.zseinfo.view.NotificationManager.java
public static void notifyNewReplacements() { if (builderNewReplacements == null) { builderNewReplacements = new NotificationCompat.Builder(getContext()); builderNewReplacements.setSmallIcon(R.drawable.ic_launcher); }//from w w w . jav a2s .c om builderNewReplacements.setContentTitle("Nowe zastpstwa!"); builderNewReplacements.setContentText("Zastpstwa na jutro s ju dostpne!"); builderNewReplacements.setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND); Intent resultIntent = new Intent(getContext(), MainActivity.class); resultIntent.putExtra("tab", "TAB_REPLACEMENTS"); resultIntent.putExtra("my_class", false); resultIntent.putExtra("TYPE", ID_NEW_REPLACEMENT); TaskStackBuilder stackBuilder = TaskStackBuilder.create(getContext()); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); builderNewReplacements.setContentIntent(resultPendingIntent); getManager().notify(ID_NEW_REPLACEMENT, builderNewReplacements.build()); }
From source file:org.enbyted.android.zseinfo.view.NotificationManager.java
public static void notifyNewReplacementForMe() { if (builderNewReplacements == null) { builderNewReplacements = new NotificationCompat.Builder(getContext()); builderNewReplacements.setSmallIcon(R.drawable.ic_launcher); }//from w w w.java2 s . c om Intent resultIntent = new Intent(getContext(), MainActivity.class); resultIntent.putExtra("tab", "TAB_REPLACEMENTS"); resultIntent.putExtra("my_class", true); resultIntent.putExtra("TYPE", ID_NEW_REPLACEMENT); TaskStackBuilder stackBuilder = TaskStackBuilder.create(getContext()); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); builderNewReplacements.setContentIntent(resultPendingIntent); builderNewReplacements.setContentTitle("Nowe zastpstwo!"); builderNewReplacements.setContentText("Kliknij aby zobaczy nowe zastpstwa dla twojej klasy."); builderNewReplacements.setDefaults(Notification.DEFAULT_VIBRATE); getManager().notify(ID_NEW_REPLACEMENT, builderNewReplacements.build()); }