Activity工具類(Intent、Bundle、requestCode、Action、進出動畫)
阿新 • • 發佈:2018-12-18
/** * 開啟Activity * * @param activity 當前Activity * @param intent Intent * @param options Bundle */ @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public static void openActivity(Activity activity, Intent intent, Bundle options) { if (null == activity || null == intent) return; activity.startActivity(intent, options); } /** * 開啟Activity * * @param activity 當前Activity * @param intent Intent */ public static void openActivity(Activity activity, Intent intent) { if (null == activity || null == intent) return; activity.startActivity(intent); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity */ public static void openActivity(Activity activity, Class<?> pClass) { openActivity(activity, pClass, null, -1, -1, -1); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param pBundle Bundle */ public static void openActivity(Activity activity, Class<?> pClass, Bundle pBundle) { openActivity(activity, pClass, pBundle, -1, -1, -1); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param pBundle Bundle * @param requestCode 返回碼 */ public static void openActivity(Activity activity, Class<?> pClass, Bundle pBundle, int requestCode) { openActivity(activity, pClass, pBundle, requestCode, -1, -1); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param enterAnim 進入動畫 * @param exitAnim 退出動畫 */ public static void openActivity(Activity activity, Class<?> pClass, int enterAnim, int exitAnim) { openActivity(activity, pClass, null, -1, enterAnim, exitAnim); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param requestCode 返回碼 */ public static void openActivity(Activity activity, Class<?> pClass, int requestCode) { openActivity(activity, pClass, null, requestCode, -1, -1); } /** * 開啟Activity * * @param activity 當前Activity * @param pAction Action * @param requestCode 返回碼 */ public static void openActivity(Activity activity, String pAction, int requestCode) { openActivity(activity, pAction, null, requestCode); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param pAction Action * @param pBundle Bundle * @param requestCode 返回碼 */ public static void openActivity(Activity activity, Class<?> pClass, String pAction, Bundle pBundle, int requestCode) { if (null == activity) return; Intent intent = new Intent(pAction); intent.setClass(activity, pClass); if (pBundle != null) { intent.putExtras(pBundle); } if (requestCode < 0) { activity.startActivity(intent); } else { activity.startActivityForResult(intent, requestCode); } } /** * 開啟Activity * * @param activity 當前Activity * @param pAction Action * @param pBundle Bundle * @param requestCode 返回碼 */ public static void openActivity(Activity activity, String pAction, Bundle pBundle, int requestCode) { if (null == activity) return; Intent intent = new Intent(pAction); if (pBundle != null) { intent.putExtras(pBundle); } if (requestCode < 0) { activity.startActivity(intent); } else { activity.startActivityForResult(intent, requestCode); } } /** * 開啟Activity * * @param activity 當前Activity * @param intent Intent * @param requestCode 返回碼 */ public static void openActivity(Activity activity, Intent intent, int requestCode) { openActivity(activity, intent, requestCode, -1, -1); } /** * 開啟Activity * * @param activity 當前Activity * @param intent Intent * @param requestCode 返回碼 * @param enterAnim 進入動畫 * @param exitAnim 退出動畫 */ public static void openActivity(Activity activity, Intent intent, int requestCode, int enterAnim, int exitAnim) { if (null == activity) return; if (requestCode < 0) { activity.startActivity(intent); } else { activity.startActivityForResult(intent, requestCode); } if (enterAnim > 0 && exitAnim > 0) { activity.overridePendingTransition(enterAnim, exitAnim); } } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param requestCode 返回碼 * @param enterAnim 進入動畫 * @param exitAnim 退出動畫 */ public static void openActivity(Activity activity, Class<?> pClass, int requestCode, int enterAnim, int exitAnim) { openActivity(activity, pClass, null, requestCode, enterAnim, exitAnim); } /** * 開啟Activity * * @param activity 當前Activity * @param pClass 目標Activity * @param pBundle Bundle * @param requestCode 返回碼 * @param enterAnim 進入動畫 * @param exitAnim 退出動畫 */ public static void openActivity(Activity activity, Class<?> pClass, Bundle pBundle, int requestCode, int enterAnim, int exitAnim) { if (null == activity) return; Intent intent = new Intent(activity, pClass); if (pBundle != null) { intent.putExtras(pBundle); } if (requestCode < 0) { activity.startActivity(intent); } else { activity.startActivityForResult(intent, requestCode); } if (enterAnim > 0 && exitAnim > 0) { activity.overridePendingTransition(enterAnim, exitAnim); } }