Example usage for android.support.v4.app TaskStackBuilder addNextIntent

List of usage examples for android.support.v4.app TaskStackBuilder addNextIntent

Introduction

In this page you can find the example usage for android.support.v4.app TaskStackBuilder addNextIntent.

Prototype

public TaskStackBuilder addNextIntent(Intent nextIntent) 

Source Link

Document

Add a new Intent to the task stack.

Usage

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);
    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:com.airbnb.deeplinkdispatch.sample.MainActivity.java

@DeepLink("http://example.com/deepLink/{id}/{name}/{place}")
public static TaskStackBuilder intentForTaskStackBuilderMethods(Context context, Bundle bundle) {
    Log.d(TAG, "without query parameter :");
    if (bundle != null && bundle.containsKey("qp")) {
        Log.d(TAG, "found new parameter :with query parameter :" + bundle.getString("qp"));
    }/* w  w w.j  ava  2 s .co m*/
    Intent detailsIntent = new Intent(context, SecondActivity.class).setAction(ACTION_DEEP_LINK_COMPLEX);
    Intent parentIntent = new Intent(context, MainActivity.class).setAction(ACTION_DEEP_LINK_COMPLEX);
    TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(context);
    taskStackBuilder.addNextIntent(parentIntent);
    taskStackBuilder.addNextIntent(detailsIntent);
    return taskStackBuilder;

}

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  w  w  . java  2 s .  c om*/
    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);/*w  w w. java 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.
 * //w  w w.  j  a  v  a 2  s.  c o m
 * 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) {//  w  w  w .  j  a  v a  2 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 {//from   w ww .  jav  a  2 s .  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 ww w  .j a v a  2s.com*/
 */
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   ww w  .ja  v  a  2 s. c o m

    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 .  j a v a  2 s. co m

    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());
}