Java Code Examples for android.content.Intent.getCharSequenceArrayExtra()

The following are Jave code examples for showing how to use getCharSequenceArrayExtra() of the android.content.Intent class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: smartkey   File: IntentValueGetter.java   View Source Code Vote up 6 votes
/**
 * Get a value from an intent by a giving class and key.
 * @param intent
 *  the source intent
 * @param key
 *  the key of the value
 * @param clz
 *  the class of the value
 * @return
 *  the value from the source intent
 */
public static Object getValue(Intent intent, String key, Class<?> clz) {
    Object value = null;
    // Cause it is not an easy job to handle inheritance in apt, it is a lot easier to put the code in the Android environment.
    if(Bundle.class.isAssignableFrom(clz)) {
        // bundle implements parcelable, so it should place before parcelable.
        value = intent.getBundleExtra(key);
    } else if(Parcelable.class.isAssignableFrom(clz)) {
        value = intent.getParcelableExtra(key);
    } else if(Parcelable[].class.isAssignableFrom(clz)) {
        value = intent.getParcelableArrayExtra(key);
    } else if(boolean[].class.isAssignableFrom(clz)) {
        value = intent.getBooleanArrayExtra(key);
    } else if(byte[].class.isAssignableFrom(clz)) {
        value = intent.getByteArrayExtra(key);
    } else if(short[].class.isAssignableFrom(clz)) {
        value = intent.getShortArrayExtra(key);
    } else if(char[].class.isAssignableFrom(clz)) {
        value = intent.getCharArrayExtra(key);
    } else if(int[].class.isAssignableFrom(clz)) {
        value = intent.getIntArrayExtra(key);
    } else if(long[].class.isAssignableFrom(clz)) {
        value = intent.getLongArrayExtra(key);
    } else if(float[].class.isAssignableFrom(clz)) {
        value = intent.getFloatArrayExtra(key);
    } else if(double[].class.isAssignableFrom(clz)) {
        value = intent.getDoubleArrayExtra(key);
    } else if(String[].class.isAssignableFrom(clz)) {
        value = intent.getStringArrayExtra(key);
    } else if(CharSequence[].class.isAssignableFrom(clz)) {
        value = intent.getCharSequenceArrayExtra(key);
    } else if(Serializable.class.isAssignableFrom(clz)) {
        // some of the above are assignable for serializable, so serializable should be in the last place.
        value = intent.getSerializableExtra(key);
    } else {
        throw new RuntimeException(clz + " is not compatible with intent (key=" + key + ")");
    }

    return value;
}
 
Example 2
Project: mobile-store   File: UpdateService.java   View Source Code Vote up 5 votes
@Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    if (TextUtils.isEmpty(action)) {
        return;
    }

    if (!action.equals(LOCAL_ACTION_STATUS)) {
        return;
    }

    final String message = intent.getStringExtra(EXTRA_MESSAGE);
    int resultCode = intent.getIntExtra(EXTRA_STATUS_CODE, -1);
    int progress = intent.getIntExtra(EXTRA_PROGRESS, -1);

    String text;
    switch (resultCode) {
        case STATUS_INFO:
            notificationBuilder.setContentText(message)
                .setCategory(NotificationCompat.CATEGORY_SERVICE);
            if (progress != -1) {
                notificationBuilder.setProgress(100, progress, false);
            } else {
                notificationBuilder.setProgress(100, 0, true);
            }
            notificationManager.notify(NOTIFY_ID_UPDATING, notificationBuilder.build());
            break;
        case STATUS_ERROR_GLOBAL:
            text = context.getString(R.string.global_error_updating_repos, message);
            notificationBuilder.setContentText(text)
                .setCategory(NotificationCompat.CATEGORY_ERROR)
                .setSmallIcon(android.R.drawable.ic_dialog_alert);
            notificationManager.notify(NOTIFY_ID_UPDATING, notificationBuilder.build());
            Toast.makeText(context, text, Toast.LENGTH_LONG).show();
            break;
        case STATUS_ERROR_LOCAL:
        case STATUS_ERROR_LOCAL_SMALL:
            StringBuilder msgBuilder = new StringBuilder();
            CharSequence[] repoErrors = intent.getCharSequenceArrayExtra(EXTRA_REPO_ERRORS);
            for (CharSequence error : repoErrors) {
                if (msgBuilder.length() > 0) msgBuilder.append('\n');
                msgBuilder.append(error);
            }
            if (resultCode == STATUS_ERROR_LOCAL_SMALL) {
                msgBuilder.append('\n').append(context.getString(R.string.all_other_repos_fine));
            }
            text = msgBuilder.toString();
            notificationBuilder.setContentText(text)
                .setCategory(NotificationCompat.CATEGORY_ERROR)
                .setSmallIcon(android.R.drawable.ic_dialog_info);
            notificationManager.notify(NOTIFY_ID_UPDATING, notificationBuilder.build());
            Toast.makeText(context, text, Toast.LENGTH_LONG).show();
            break;
        case STATUS_COMPLETE_WITH_CHANGES:
            break;
        case STATUS_COMPLETE_AND_SAME:
            text = context.getString(R.string.repos_unchanged);
            notificationBuilder.setContentText(text)
                .setCategory(NotificationCompat.CATEGORY_SERVICE);
            notificationManager.notify(NOTIFY_ID_UPDATING, notificationBuilder.build());
            break;
    }
}