提取startActivity方法为自己的工具类,代码如下:
/**
* 打开activity
*context 上下文 activity 当前activity extraMap startactivity需要的Extra参数,如没有写null
*/
public static void launchActivity(Context context, Class<?> activity,Map<String, Object> extraMap) {
Intent intent = new Intent(context, activity);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if(extraMap != null){
Iterator<String> iterator = extraMap.keySet().iterator();
while(iterator.hasNext()){
String key = (String) iterator.next();
Object object = extraMap.get(key);
if (object instanceof String) {
intent.putExtra(key, (String)object);
} else if (object instanceof Boolean) {
intent.putExtra(key, (Boolean) object);
} else if (object instanceof Float) {
intent.putExtra(key, Float.parseFloat(object.toString()));
} else if (object instanceof Integer) {
intent.putExtra(key, Integer.parseInt(object.toString()));
} else if (object instanceof Long) {
intent.putExtra(key, Long.parseLong(object.toString()));
} else {
intent.putExtra(key, object.toString());
}
}
}
context.startActivity(intent);
}