本文整理汇总了Java中android.content.Intent.getCharSequenceArrayExtra方法的典型用法代码示例。如果您正苦于以下问题:Java Intent.getCharSequenceArrayExtra方法的具体用法?Java Intent.getCharSequenceArrayExtra怎么用?Java Intent.getCharSequenceArrayExtra使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.content.Intent
的用法示例。
在下文中一共展示了Intent.getCharSequenceArrayExtra方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getValue
import android.content.Intent; //导入方法依赖的package包/类
/**
* 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;
}
示例2: onReceive
import android.content.Intent; //导入方法依赖的package包/类
@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;
}
}