Example usage for android.content Intent getExtras

List of usage examples for android.content Intent getExtras

Introduction

In this page you can find the example usage for android.content Intent getExtras.

Prototype

public @Nullable Bundle getExtras() 

Source Link

Document

Retrieves a map of extended data from the intent.

Usage

From source file:fr.julienvermet.bugdroid.service.CommentIntentService.java

private void sendResult(Intent intent, int statusCode, String result) {
    Bundle extras = intent.getExtras();
    Messenger messenger = (Messenger) extras.get(MESSENGER);
    if (messenger != null) {
        Message msg = Message.obtain();//from  w  w  w  .jav a  2 s.c  om
        Bundle data = new Bundle();
        data.putInt(STATUS_CODE, statusCode);
        data.putString(RESULT, result);
        msg.setData(data);
        try {
            messenger.send(msg);
        } catch (android.os.RemoteException e1) {
            Log.w(getClass().getName(), "Exception sending message", e1);
        }
    }
}

From source file:com.google.android.apps.chrometophone.GCMIntentService.java

@Override
public void onMessage(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    if (extras != null) {
        String url = (String) extras.get("url");
        String title = (String) extras.get("title");
        String sel = (String) extras.get("sel");
        String debug = (String) extras.get("debug");

        if (debug != null) {
            // server-controlled debug - the server wants to know
            // we received the message, and when. This is not user-controllable,
            // we don't want extra traffic on the server or phone. Server may
            // turn this on for a small percentage of requests or for users
            // who report issues.
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet get = new HttpGet(AppEngineClient.BASE_URL + "/debug?id=" + extras.get("collapse_key"));
            // No auth - the purpose is only to generate a log/confirm delivery
            // (to avoid overhead of getting the token)
            try {
                client.execute(get);/*from  w  ww  .  ja  va 2  s .c o m*/
            } catch (ClientProtocolException e) {
                // ignore
            } catch (IOException e) {
                // ignore
            }
        }

        if (title != null && url != null && url.startsWith("http")) {
            SharedPreferences settings = Prefs.get(context);
            Intent launchIntent = LauncherUtils.getLaunchIntent(context, title, url, sel);

            // Notify and optionally start activity
            if (settings.getBoolean("launchBrowserOrMaps", true) && launchIntent != null) {
                LauncherUtils.playNotificationSound(context);
                LauncherUtils.sendIntentToApp(context, launchIntent);
            } else {
                LauncherUtils.generateNotification(context, url, title, launchIntent);
            }

            // Record history (for link/maps only)
            if (launchIntent != null && launchIntent.getAction().equals(Intent.ACTION_VIEW)) {
                HistoryDatabase.get(context).insertHistory(title, url);
            }
        }
    }
}

From source file:hk.edu.cityu.appslab.calmessenger.gcm.GcmIntentService.java

@Override
protected void onHandleIntent(Intent intent) {
    Bundle extras = intent.getExtras();
    GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
    // The getMessageType() intent parameter must be the intent you received
    // in your BroadcastReceiver.
    String messageType = gcm.getMessageType(intent);

    if (!extras.isEmpty()) { // has effect of unparcelling Bundle
        /*/*w  ww .jav  a 2 s.c  o m*/
         * Filter messages based on message type. Since it is likely that
         * GCM will be extended in the future with new message types, just
         * ignore any message types you're not interested in, or that you
         * don't recognize.
         */
        if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) {
            sendNotification("Error", "Send error: " + extras.toString());
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) {
            sendNotification("Deleted", "Deleted messages on server: " + extras.toString());
            // If it's a regular GCM message, do some work.
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
            Log.i(TAG, "Received: " + extras.toString());

            handleJsonMessage(extras.getString("m"));
        }
    }
    // Release the wake lock provided by the WakefulBroadcastReceiver.
    GcmBroadcastReceiver.completeWakefulIntent(intent);
}

From source file:com.commontime.plugin.notification.notification.AbstractTriggerReceiver.java

/**
 * Called when an alarm was triggered./* w  ww.java 2s  .  c  om*/
 *
 * @param context
 *      Application context
 * @param intent
 *      Received intent with content data
 */
@Override
public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();
    Options options;

    try {
        String data = bundle.getString(Options.EXTRA);
        JSONObject dict = new JSONObject(data);

        options = new Options(context).parse(dict);
    } catch (JSONException e) {
        e.printStackTrace();
        return;
    }

    if (options == null)
        return;

    if (isFirstAlarmInFuture(options))
        return;

    Builder builder = new Builder(options);
    NotificationWrapper notification = buildNotification(builder);
    boolean updated = notification.isUpdate();

    onTrigger(notification, updated);
}

From source file:de.appplant.cordova.plugin.notification.AbstractTriggerReceiver.java

/**
 * Called when an alarm was triggered./*w  w w .  j a  v a 2 s  .com*/
 *
 * @param context
 *      Application context
 * @param intent
 *      Received intent with content data
 */
@Override
public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();
    Options options;

    try {
        String data = bundle.getString(Options.EXTRA);
        JSONObject dict = new JSONObject(data);

        options = new Options(context).parse(dict);
    } catch (JSONException e) {
        e.printStackTrace();
        return;
    }

    if (options == null)
        return;

    if (isFirstAlarmInFuture(options))
        return;

    Builder builder = new Builder(options);
    Notification notification = buildNotification(builder);
    boolean updated = notification.isUpdate();

    onTrigger(notification, updated);
}

From source file:com.browsertophone.C2DMReceiver.java

@Override
public void onMessage(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    if (extras != null) {
        String url = (String) extras.get("url");
        String title = (String) extras.get("title");
        String sel = (String) extras.get("sel");
        String debug = (String) extras.get("debug");

        if (debug != null) {
            // server-controlled debug - the server wants to know
            // we received the message, and when. This is not user-controllable,
            // we don't want extra traffic on the server or phone. Server may
            // turn this on for a small percentage of requests or for users
            // who report issues.
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet get = new HttpGet(AppEngineClient.BASE_URL + "/debug?id=" + extras.get("collapse_key"));
            // No auth - the purpose is only to generate a log/confirm delivery
            // (to avoid overhead of getting the token)
            try {
                client.execute(get);/*from w  w  w  .  j  a  v a2 s.  co  m*/
            } catch (ClientProtocolException e) {
                // ignore
            } catch (IOException e) {
                // ignore
            }
        }

        if (title != null && url != null && url.startsWith("http")) {
            SharedPreferences settings = Prefs.get(context);
            Intent launchIntent = LauncherUtils.getLaunchIntent(context, title, url, sel);

            // Notify and optionally start activity
            if (settings.getBoolean("launchBrowserOrMaps", true) && launchIntent != null) {
                LauncherUtils.playNotificationSound(context);
                context.startActivity(launchIntent);
            } else {
                if (sel != null && sel.length() > 0) { // have selection
                    LauncherUtils.generateNotification(context, sel,
                            context.getString(R.string.copied_desktop_clipboard), launchIntent);
                } else {
                    LauncherUtils.generateNotification(context, url, title, launchIntent);
                }
            }

            // Record history (for link/maps only)
            if (launchIntent != null && launchIntent.getAction().equals(Intent.ACTION_VIEW)) {
                HistoryDatabase.get(context).insertHistory(title, url);
            }
        }
    }
}

From source file:com.example.mobileid.GcmIntentService.java

@Override
protected void onHandleIntent(Intent intent) {
    Bundle extras = intent.getExtras();
    GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
    // The getMessageType() intent parameter must be the intent you received
    // in your BroadcastReceiver.
    String messageType = gcm.getMessageType(intent);

    if (!extras.isEmpty()) { // has effect of unparcelling Bundle
        /*/*  w ww. j a  v a2 s  . co  m*/
         * Filter messages based on message type. Since it is likely that GCM will be
         * extended in the future with new message types, just ignore any message types you're
         * not interested in, or that you don't recognize.
         */
        if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) {
            //                sendNotification("Send error: " + extras.toString());
            Log.i(TAG, "GCM Error");
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) {
            //                sendNotification("Deleted messages on server: " + extras.toString());
            Log.i(TAG, "GCM deleted on server");
            // If it's a regular GCM message, do some work.
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
            Log.i(TAG, "Received: " + extras.getString("message"));
            sendNotification(intent);
        }
    }
    // Release the wake lock provided by the WakefulBroadcastReceiver.
    GcmBroadcastReceiver.completeWakefulIntent(intent);
}

From source file:edu.poly.cs9033.nowaiting.service.LocationReceiver.java

@Override
public void onReceive(Context context, Intent intent) {

    Logger.i("Location changes detected!");

    Bundle b = intent.getExtras();
    Location loc = (Location) b.get(LocationPoller.EXTRA_LOCATION);
    String msg;/*from www  .  j av  a 2 s.  c om*/

    if (loc == null) {
        loc = (Location) b.get(LocationPoller.EXTRA_LASTKNOWN);

        if (loc == null) {
            msg = intent.getStringExtra(LocationPoller.EXTRA_ERROR);
        } else {
            msg = "TIMEOUT, lastKnown=" + loc.toString();
        }
    } else {
        msg = loc.toString();
        uploadCurrentLocation(loc);
    }

    if (msg == null) {
        msg = "Invalid broadcast received!";
    }

}

From source file:com.menumomma.chrome2phone.C2DMReceiver.java

@Override
public void onMessage(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    if (extras != null) {
        String url = (String) extras.get("url");
        String title = (String) extras.get("title");
        String sel = (String) extras.get("sel");
        String debug = (String) extras.get("debug");

        if (debug != null) {
            // server-controlled debug - the server wants to know
            // we received the message, and when. This is not user-controllable,
            // we don't want extra traffic on the server or phone. Server may
            // turn this on for a small percentage of requests or for users
            // who report issues.
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet get = new HttpGet(Config.BASE_URL + "/debug?id=" + extras.get("collapse_key"));
            // No auth - the purpose is only to generate a log/confirm delivery
            // (to avoid overhead of getting the token)
            try {
                client.execute(get);//from   ww w.  ja  va2s  . c o  m
            } catch (ClientProtocolException e) {
                // ignore
            } catch (IOException e) {
                // ignore
            }
        }

        if (title != null && url != null && url.startsWith("http")) {
            SharedPreferences settings = Prefs.get(context);
            Intent launchIntent = LauncherUtils.getLaunchIntent(context, title, url, sel);

            // Notify and optionally start activity
            if (settings.getBoolean("launchBrowserOrMaps", true) && launchIntent != null) {
                try {
                    context.startActivity(launchIntent);
                    LauncherUtils.playNotificationSound(context);
                } catch (ActivityNotFoundException e) {
                    return;
                }
            } else {
                LauncherUtils.generateNotification(context, url, title, launchIntent);
            }

            // Record history (for link/maps only)
            if (launchIntent != null && launchIntent.getAction().equals(Intent.ACTION_VIEW)) {
                HistoryDatabase.get(context).insertHistory(title, url);
            }
        }
    }
}

From source file:com.imobilize.blogposts.gcmnotifications.GcmIntentService.java

@Override
protected void onHandleIntent(Intent intent) {
    Bundle extras = intent.getExtras();
    GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
    // The getMessageType() intent parameter must be the intent you received
    // in your BroadcastReceiver.
    String messageType = gcm.getMessageType(intent);

    if (!extras.isEmpty()) { // has effect of unparcelling Bundle
        /*/*  ww  w. j  av a2  s . c o  m*/
         * Filter messages based on message type. Since it is likely that GCM will be
         * extended in the future with new message types, just ignore any message types you're
         * not interested in, or that you don't recognize.
         */
        if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) {
            sendNotification("Send error: " + extras.toString());
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) {
            sendNotification("Deleted messages on server: " + extras.toString());
            // If it's a regular GCM message, do some work.
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {

            Log.i(TAG, "Completed work @ " + SystemClock.elapsedRealtime());
            // Post notification of received message.
            String articleDataString = extras.getString("article_data");
            sendNotification(articleDataString);
            Log.i(TAG, "Received: " + extras.toString());
        }
    }
    // Release the wake lock provided by the WakefulBroadcastReceiver.
    GcmBroadcastReceiver.completeWakefulIntent(intent);
}