提交 06e577c4 编写于 作者: B Blankj

see 05/15 log

上级 7a7b08d1
......@@ -41,7 +41,7 @@
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.15.0-brightgreen.svg
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.15.1-brightgreen.svg
[auc]: https://github.com/Blankj/AndroidUtilCode
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
......
......@@ -41,7 +41,7 @@ If this project helps you a lot and you want to support the project's developmen
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.15.0-brightgreen.svg
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.15.1-brightgreen.svg
[auc]: https://github.com/Blankj/AndroidUtilCode
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
......
......@@ -56,7 +56,7 @@ dependencies {
// LeakCanary
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakcanary_version"
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakcanary_version"
// implementation 'com.blankj:utilcode:1.15.0'
// implementation 'com.blankj:utilcode:1.15.1'
}
......@@ -44,8 +44,8 @@ ext {
min_sdk_version = 14
target_sdk_version = 27
version_code = 1_015_000
version_name = '1.15.0'// E.g 1.9.72 => 1,009,072
version_code = 1_015_001
version_name = '1.15.1'// E.g 1.9.72 => 1,009,072
// App dependencies
support_version = '27.1.0'
......
* 18/05/15 新增 MetaDataUtils 和 ActivityUtils#startActivityForResult,发布 1.15.1 版本
* 18/05/08 新增 ResourceUtils,发布 1.15.0 版本
* 18/05/07 修复 ZipUtils 漏洞,发布 1.14.4 版本
* 18/05/03 修复 ToastUtils 默认字体大小问题,发布 1.14.3 版本
......
......@@ -2,7 +2,7 @@
Gradle:
```groovy
implementation 'com.blankj:utilcode:1.15.0'
implementation 'com.blankj:utilcode:1.15.1'
```
......@@ -25,6 +25,7 @@ U needn't do anything, because I add `consumerProguardFiles 'proguard-rules.pro'
```
isActivityExists : 判断 Activity 是否存在
startActivity : 启动 Activity
startActivityForResult : 启动 Activity 为返回结果
startActivities : 启动多个 Activity
startHomeActivity : 回到桌面
getActivityList : 获取 Activity 栈链表
......
......@@ -2,7 +2,7 @@
Gradle:
```groovy
implementation 'com.blankj:utilcode:1.15.0'
implementation 'com.blankj:utilcode:1.15.1'
```
......@@ -25,6 +25,7 @@ U needn't do anything, because I add `consumerProguardFiles 'proguard-rules.pro'
```
isActivityExists
startActivity
startActivityForResult
startActivities
startHomeActivity
getActivityList
......
......@@ -597,6 +597,321 @@ public final class ActivityUtils {
}
}
/**
* Start the activity.
*
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if >= 0, this code will be returned in
* onActivityResult() when the activity exits.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode) {
startActivityForResult(activity, null, activity.getPackageName(), clz.getName(),
requestCode, null);
}
/**
* Start the activity.
*
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param options Additional options for how the Activity should be started.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode,
final Bundle options) {
startActivityForResult(activity, null, activity.getPackageName(), clz.getName(),
requestCode, options);
}
/**
* Start the activity.
*
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param sharedElements The names of the shared elements to transfer to the called
* Activity and their associated Views.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode,
final View... sharedElements) {
startActivityForResult(activity, null, activity.getPackageName(), clz.getName(),
requestCode, getOptionsBundle(activity, sharedElements));
}
/**
* Start the activity.
*
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param enterAnim A resource ID of the animation resource to use for the
* incoming activity.
* @param exitAnim A resource ID of the animation resource to use for the
* outgoing activity.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
startActivityForResult(activity, null, activity.getPackageName(), clz.getName(),
requestCode, getOptionsBundle(activity, enterAnim, exitAnim));
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
activity.overridePendingTransition(enterAnim, exitAnim);
}
}
/**
* Start the activity.
*
* @param extras The Bundle of extras to add to this intent.
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode) {
startActivityForResult(activity, extras, activity.getPackageName(), clz.getName(),
requestCode, null);
}
/**
* Start the activity.
*
* @param extras The Bundle of extras to add to this intent.
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param options Additional options for how the Activity should be started.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode,
@NonNull final Bundle options) {
startActivityForResult(activity, extras, activity.getPackageName(), clz.getName(),
requestCode, options);
}
/**
* Start the activity.
*
* @param extras The Bundle of extras to add to this intent.
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param sharedElements The names of the shared elements to transfer to the called
* Activity and their associated Views.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode,
final View... sharedElements) {
startActivityForResult(activity, extras, activity.getPackageName(), clz.getName(),
requestCode, getOptionsBundle(activity, sharedElements));
}
/**
* Start the activity.
*
* @param extras The Bundle of extras to add to this intent.
* @param activity The activity.
* @param clz The activity class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param enterAnim A resource ID of the animation resource to use for the
* incoming activity.
* @param exitAnim A resource ID of the animation resource to use for the
* outgoing activity.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final Class<? extends Activity> clz,
final int requestCode,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
startActivityForResult(activity, extras, activity.getPackageName(), clz.getName(),
requestCode, getOptionsBundle(activity, enterAnim, exitAnim));
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
activity.overridePendingTransition(enterAnim, exitAnim);
}
}
/**
* Start the activity for result.
*
* @param activity The activity.
* @param extras The Bundle of extras to add to this intent.
* @param pkg The name of the package.
* @param cls The name of the class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final String pkg,
@NonNull final String cls,
final int requestCode) {
startActivityForResult(activity, extras, pkg, cls, requestCode, null);
}
/**
* Start the activity for result.
*
* @param extras The Bundle of extras to add to this intent.
* @param activity The activity.
* @param pkg The name of the package.
* @param cls The name of the class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param options Additional options for how the Activity should be started.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final String pkg,
@NonNull final String cls,
final int requestCode,
final Bundle options) {
startActivityForResult(activity, extras, pkg, cls, requestCode, options);
}
/**
* Start the activity for result.
*
* @param extras The Bundle of extras to add to this intent.
* @param activity The activity.
* @param pkg The name of the package.
* @param cls The name of the class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param sharedElements The names of the shared elements to transfer to the called
* Activity and their associated Views.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final String pkg,
@NonNull final String cls,
final int requestCode,
final View... sharedElements) {
startActivityForResult(activity, extras, pkg, cls,
requestCode, getOptionsBundle(activity, sharedElements));
}
/**
* Start the activity for result.
*
* @param extras The Bundle of extras to add to this intent.
* @param pkg The name of the package.
* @param cls The name of the class.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param enterAnim A resource ID of the animation resource to use for the
* incoming activity.
* @param exitAnim A resource ID of the animation resource to use for the
* outgoing activity.
*/
public static void startActivityForResult(@NonNull final Bundle extras,
@NonNull final Activity activity,
@NonNull final String pkg,
@NonNull final String cls,
final int requestCode,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
startActivityForResult(activity, extras, pkg, cls,
requestCode, getOptionsBundle(activity, enterAnim, exitAnim));
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
activity.overridePendingTransition(enterAnim, exitAnim);
}
}
/**
* Start the activity for result.
*
* @param activity The activity.
* @param intent The description of the activity to start.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Intent intent,
final int requestCode) {
startActivityForResult(intent, activity, requestCode, null);
}
/**
* Start the activity for result.
*
* @param activity The activity.
* @param intent The description of the activity to start.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param options Additional options for how the Activity should be started.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Intent intent,
final int requestCode,
final Bundle options) {
startActivityForResult(intent, activity, requestCode, options);
}
/**
* Start the activity for result.
*
* @param activity The activity.
* @param intent The description of the activity to start.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param sharedElements The names of the shared elements to transfer to the called
* Activity and their associated Views.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Intent intent,
final int requestCode,
final View... sharedElements) {
startActivityForResult(intent, activity,
requestCode, getOptionsBundle(activity, sharedElements));
}
/**
* Start the activity for result.
*
* @param activity The activity.
* @param intent The description of the activity to start.
* @param requestCode if &gt;= 0, this code will be returned in
* onActivityResult() when the activity exits.
* @param enterAnim A resource ID of the animation resource to use for the
* incoming activity.
* @param exitAnim A resource ID of the animation resource to use for the
* outgoing activity.
*/
public static void startActivityForResult(@NonNull final Activity activity,
@NonNull final Intent intent,
final int requestCode,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
startActivityForResult(intent, activity,
requestCode, getOptionsBundle(activity, enterAnim, exitAnim));
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
activity.overridePendingTransition(enterAnim, exitAnim);
}
}
/**
* Start activities.
*
......@@ -1203,6 +1518,29 @@ public final class ActivityUtils {
}
}
private static void startActivityForResult(final Activity activity,
final Bundle extras,
final String pkg,
final String cls,
final int requestCode,
final Bundle options) {
Intent intent = new Intent(Intent.ACTION_VIEW);
if (extras != null) intent.putExtras(extras);
intent.setComponent(new ComponentName(pkg, cls));
startActivityForResult(intent, activity, requestCode, options);
}
private static void startActivityForResult(final Intent intent,
final Activity activity,
final int requestCode,
final Bundle options) {
if (options != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
activity.startActivityForResult(intent, requestCode, options);
} else {
activity.startActivityForResult(intent, requestCode);
}
}
private static void startActivities(final Intent[] intents,
final Context context,
final Bundle options) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册