Skip to content

Commit 309b737

Browse files
committed
see 05/16 log
1 parent b3e504b commit 309b737

File tree

8 files changed

+165
-62
lines changed

8 files changed

+165
-62
lines changed

README-CN.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
* ### Activity相关→[ActivityUtils.java][activity.java][Demo][activity.demo]
1010
```
1111
isActivityExists : 判断是否存在Activity
12-
launchActivity : 打开Activity
12+
startActivity : 打开Activity
1313
getLauncherActivity: 获取入口activity
14+
getTopActivity : 获取栈顶Activity
1415
```
1516

1617
* ### App相关→[AppUtils.java][app.java][Demo][app.demo]

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
* ### About Activity→[ActivityUtils.java][activity.java][Demo][activity.demo]
1010
```
1111
isActivityExists
12-
launchActivity
12+
startActivity
1313
getLauncherActivity
14+
getTopActivity
1415
```
1516

1617
* ### About App→[AppUtils.java][app.java][Demo][app.demo]

update_log.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* 17/05/16 ActivityUtils新增动画
12
* 17/05/12 新增base系列
23
* 17/05/11 修复SpannableStringUtils的setDrawable的bug,发布1.5.1
34
* 17/05/10 installApp完善7.0,完善AppActivity

utilcode/src/main/java/com/blankj/utilcode/util/ActivityUtils.java

Lines changed: 124 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.app.Activity;
44
import android.content.ComponentName;
5+
import android.content.Context;
56
import android.content.Intent;
67
import android.content.pm.PackageManager;
78
import android.content.pm.ResolveInfo;
@@ -44,24 +45,132 @@ public static boolean isActivityExists(String packageName, String className) {
4445
}
4546

4647
/**
47-
* 打开Activity
48+
* 启动Activity
4849
*
49-
* @param packageName 包名
50-
* @param className 全类名
50+
* @param activity activity
51+
* @param cls activity类
5152
*/
52-
public static void launchActivity(String packageName, String className) {
53-
launchActivity(packageName, className, null);
53+
public static void startActivity(Activity activity, Class<?> cls) {
54+
startActivity(activity, null, activity.getPackageName(), cls.getName(), null);
5455
}
5556

5657
/**
57-
* 打开Activity
58+
* 启动Activity
5859
*
59-
* @param packageName 包名
60-
* @param className 全类名
61-
* @param bundle bundle
60+
* @param extras extras
61+
* @param activity activity
62+
* @param cls activity类
63+
*/
64+
public static void startActivity(Bundle extras, Activity activity, Class<?> cls) {
65+
startActivity(activity, extras, activity.getPackageName(), cls.getName(), null);
66+
}
67+
68+
/**
69+
* 启动Activity
70+
*
71+
* @param activity activity
72+
* @param cls activity类
73+
* @param enterAnim 入场动画
74+
* @param exitAnim 出场动画
75+
*/
76+
public static void startActivity(Activity activity, Class<?> cls, int enterAnim, int exitAnim) {
77+
startActivity(activity, null, activity.getPackageName(), cls.getName(), null);
78+
activity.overridePendingTransition(enterAnim, exitAnim);
79+
}
80+
81+
/**
82+
* 启动Activity
83+
*
84+
* @param extras extras
85+
* @param activity activity
86+
* @param cls activity类
87+
* @param enterAnim 入场动画
88+
* @param exitAnim 出场动画
89+
*/
90+
public static void startActivity(Bundle extras, Activity activity, Class<?> cls, int enterAnim, int exitAnim) {
91+
startActivity(activity, extras, activity.getPackageName(), cls.getName(), null);
92+
activity.overridePendingTransition(enterAnim, exitAnim);
93+
}
94+
95+
/**
96+
* 启动Activity
97+
*
98+
* @param activity activity
99+
* @param cls activity类
100+
* @param options 跳转动画
101+
*/
102+
public static void startActivity(Activity activity, Class<?> cls, Bundle options) {
103+
startActivity(activity, null, activity.getPackageName(), cls.getName(), options);
104+
}
105+
106+
/**
107+
* 启动Activity
108+
*
109+
* @param extras extras
110+
* @param activity activity
111+
* @param cls activity类
112+
* @param options 跳转动画
113+
*/
114+
public static void startActivity(Bundle extras, Activity activity, Class<?> cls, Bundle options) {
115+
startActivity(activity, extras, activity.getPackageName(), cls.getName(), options);
116+
}
117+
118+
/**
119+
* 启动Activity
120+
*
121+
* @param pkg 包名
122+
* @param cls 全类名
123+
*/
124+
public static void startActivity(String pkg, String cls) {
125+
startActivity(Utils.getContext(), null, pkg, cls, null);
126+
}
127+
128+
/**
129+
* 启动Activity
130+
*
131+
* @param extras extras
132+
* @param pkg 包名
133+
* @param cls 全类名
62134
*/
63-
public static void launchActivity(String packageName, String className, Bundle bundle) {
64-
Utils.getContext().startActivity(getComponentIntent(packageName, className, bundle));
135+
public static void startActivity(Bundle extras, String pkg, String cls) {
136+
startActivity(Utils.getContext(), extras, pkg, cls, extras);
137+
}
138+
139+
/**
140+
* 启动Activity
141+
*
142+
* @param pkg 包名
143+
* @param cls 全类名
144+
* @param options 动画
145+
*/
146+
public static void startActivity(String pkg, String cls, Bundle options) {
147+
startActivity(Utils.getContext(), null, pkg, cls, options);
148+
}
149+
150+
/**
151+
* 启动Activity
152+
*
153+
* @param extras extras
154+
* @param pkg 包名
155+
* @param cls 全类名
156+
* @param options 动画
157+
*/
158+
public static void startActivity(Bundle extras, String pkg, String cls, Bundle options) {
159+
startActivity(Utils.getContext(), extras, pkg, cls, options);
160+
}
161+
162+
private static void startActivity(Context context, Bundle extras, String pkg, String cls, Bundle options) {
163+
Intent intent = new Intent(Intent.ACTION_VIEW);
164+
if (extras != null) intent.putExtras(extras);
165+
intent.setComponent(new ComponentName(pkg, cls));
166+
if (!(context instanceof Activity)) {
167+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
168+
}
169+
if (options == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
170+
context.startActivity(intent);
171+
} else {
172+
context.startActivity(intent, options);
173+
}
65174
}
66175

67176
/**
@@ -75,10 +184,10 @@ public static String getLauncherActivity(String packageName) {
75184
intent.addCategory(Intent.CATEGORY_LAUNCHER);
76185
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
77186
PackageManager pm = Utils.getContext().getPackageManager();
78-
List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0);
79-
for (ResolveInfo info : infos) {
80-
if (info.activityInfo.packageName.equals(packageName)) {
81-
return info.activityInfo.name;
187+
List<ResolveInfo> info = pm.queryIntentActivities(intent, 0);
188+
for (ResolveInfo aInfo : info) {
189+
if (aInfo.activityInfo.packageName.equals(packageName)) {
190+
return aInfo.activityInfo.name;
82191
}
83192
}
84193
return "no " + packageName;
@@ -93,7 +202,6 @@ public static String getLauncherActivity(String packageName) {
93202
public static Activity getTopActivity() {
94203
try {
95204
Class activityThreadClass = Class.forName("android.app.ActivityThread");
96-
@SuppressWarnings("unchecked")
97205
Object activityThread = activityThreadClass.getMethod("currentActivityThread").invoke(null);
98206
Field activitiesField = activityThreadClass.getDeclaredField("mActivities");
99207
activitiesField.setAccessible(true);
@@ -118,12 +226,4 @@ public static Activity getTopActivity() {
118226
}
119227
return null;
120228
}
121-
122-
private static Intent getComponentIntent(String packageName, String className, Bundle bundle) {
123-
Intent intent = new Intent(Intent.ACTION_VIEW);
124-
if (bundle != null) intent.putExtras(bundle);
125-
ComponentName cn = new ComponentName(packageName, className);
126-
intent.setComponent(cn);
127-
return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
128-
}
129229
}

utilcode/src/main/java/com/blankj/utilcode/util/AppUtils.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,11 +453,11 @@ public static String getAppSignatureSHA1(String packageName) {
453453
*/
454454
public static boolean isAppForeground() {
455455
ActivityManager manager = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
456-
List<ActivityManager.RunningAppProcessInfo> infos = manager.getRunningAppProcesses();
457-
if (infos == null || infos.size() == 0) return false;
458-
for (ActivityManager.RunningAppProcessInfo info : infos) {
459-
if (info.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
460-
return info.processName.equals(Utils.getContext().getPackageName());
456+
List<ActivityManager.RunningAppProcessInfo> info = manager.getRunningAppProcesses();
457+
if (info == null || info.size() == 0) return false;
458+
for (ActivityManager.RunningAppProcessInfo aInfo : info) {
459+
if (aInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
460+
return aInfo.processName.equals(Utils.getContext().getPackageName());
461461
}
462462
}
463463
return false;

utilcode/src/main/java/com/blankj/utilcode/util/ProcessUtils.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ private ProcessUtils() {
4141
*/
4242
public static String getForegroundProcessName() {
4343
ActivityManager manager = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
44-
List<ActivityManager.RunningAppProcessInfo> infos = manager.getRunningAppProcesses();
45-
if (infos != null && infos.size() != 0) {
46-
for (ActivityManager.RunningAppProcessInfo info : infos) {
47-
if (info.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
48-
return info.processName;
44+
List<ActivityManager.RunningAppProcessInfo> pInfo = manager.getRunningAppProcesses();
45+
if (pInfo != null && pInfo.size() != 0) {
46+
for (ActivityManager.RunningAppProcessInfo aInfo : pInfo) {
47+
if (aInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
48+
return aInfo.processName;
4949
}
5050
}
5151
}
@@ -95,10 +95,10 @@ public static String getForegroundProcessName() {
9595
*/
9696
public static Set<String> getAllBackgroundProcesses() {
9797
ActivityManager am = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
98-
List<ActivityManager.RunningAppProcessInfo> infos = am.getRunningAppProcesses();
98+
List<ActivityManager.RunningAppProcessInfo> info = am.getRunningAppProcesses();
9999
Set<String> set = new HashSet<>();
100-
for (ActivityManager.RunningAppProcessInfo info : infos) {
101-
Collections.addAll(set, info.pkgList);
100+
for (ActivityManager.RunningAppProcessInfo aInfo : info) {
101+
Collections.addAll(set, aInfo.pkgList);
102102
}
103103
return set;
104104
}
@@ -111,17 +111,17 @@ public static Set<String> getAllBackgroundProcesses() {
111111
*/
112112
public static Set<String> killAllBackgroundProcesses() {
113113
ActivityManager am = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
114-
List<ActivityManager.RunningAppProcessInfo> infos = am.getRunningAppProcesses();
114+
List<ActivityManager.RunningAppProcessInfo> info = am.getRunningAppProcesses();
115115
Set<String> set = new HashSet<>();
116-
for (ActivityManager.RunningAppProcessInfo info : infos) {
117-
for (String pkg : info.pkgList) {
116+
for (ActivityManager.RunningAppProcessInfo aInfo : info) {
117+
for (String pkg : aInfo.pkgList) {
118118
am.killBackgroundProcesses(pkg);
119119
set.add(pkg);
120120
}
121121
}
122-
infos = am.getRunningAppProcesses();
123-
for (ActivityManager.RunningAppProcessInfo info : infos) {
124-
for (String pkg : info.pkgList) {
122+
info = am.getRunningAppProcesses();
123+
for (ActivityManager.RunningAppProcessInfo aInfo : info) {
124+
for (String pkg : aInfo.pkgList) {
125125
set.remove(pkg);
126126
}
127127
}
@@ -137,17 +137,17 @@ public static Set<String> killAllBackgroundProcesses() {
137137
*/
138138
public static boolean killBackgroundProcesses(@NonNull String packageName) {
139139
ActivityManager am = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
140-
List<ActivityManager.RunningAppProcessInfo> infos = am.getRunningAppProcesses();
141-
if (infos == null || infos.size() == 0) return true;
142-
for (ActivityManager.RunningAppProcessInfo info : infos) {
143-
if (Arrays.asList(info.pkgList).contains(packageName)) {
140+
List<ActivityManager.RunningAppProcessInfo> info = am.getRunningAppProcesses();
141+
if (info == null || info.size() == 0) return true;
142+
for (ActivityManager.RunningAppProcessInfo aInfo : info) {
143+
if (Arrays.asList(aInfo.pkgList).contains(packageName)) {
144144
am.killBackgroundProcesses(packageName);
145145
}
146146
}
147-
infos = am.getRunningAppProcesses();
148-
if (infos == null || infos.size() == 0) return true;
149-
for (ActivityManager.RunningAppProcessInfo info : infos) {
150-
if (Arrays.asList(info.pkgList).contains(packageName)) {
147+
info = am.getRunningAppProcesses();
148+
if (info == null || info.size() == 0) return true;
149+
for (ActivityManager.RunningAppProcessInfo aInfo : info) {
150+
if (Arrays.asList(aInfo.pkgList).contains(packageName)) {
151151
return false;
152152
}
153153
}

utilcode/src/main/java/com/blankj/utilcode/util/ServiceUtils.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ private ServiceUtils() {
3131
*/
3232
public static Set getAllRunningService() {
3333
ActivityManager activityManager = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
34-
List<RunningServiceInfo> infos = activityManager.getRunningServices(0x7FFFFFFF);
34+
List<RunningServiceInfo> info = activityManager.getRunningServices(0x7FFFFFFF);
3535
Set<String> names = new HashSet<>();
36-
if (infos == null || infos.size() == 0) return null;
37-
for (RunningServiceInfo info : infos) {
38-
names.add(info.service.getClassName());
36+
if (info == null || info.size() == 0) return null;
37+
for (RunningServiceInfo aInfo : info) {
38+
names.add(aInfo.service.getClassName());
3939
}
4040
return names;
4141
}
@@ -149,10 +149,10 @@ public static void unbindService(ServiceConnection conn) {
149149
*/
150150
public static boolean isServiceRunning(String className) {
151151
ActivityManager activityManager = (ActivityManager) Utils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
152-
List<RunningServiceInfo> infos = activityManager.getRunningServices(0x7FFFFFFF);
153-
if (infos == null || infos.size() == 0) return false;
154-
for (RunningServiceInfo info : infos) {
155-
if (className.equals(info.service.getClassName())) return true;
152+
List<RunningServiceInfo> info = activityManager.getRunningServices(0x7FFFFFFF);
153+
if (info == null || info.size() == 0) return false;
154+
for (RunningServiceInfo aInfo : info) {
155+
if (className.equals(aInfo.service.getClassName())) return true;
156156
}
157157
return false;
158158
}

utilcode/src/test/java/com/blankj/utilcode/util/TestUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public static void init() {
3939
Utils.init(RuntimeEnvironment.application);
4040
}
4141

42-
// @Test
42+
// @Test
4343
public void readme2Eng() throws Exception {
4444
formatCN();
4545
File readmeCN = new File(new File(System.getProperty("user.dir")).getAbsolutePath() + FILE_SEP + "README-CN.md");

0 commit comments

Comments
 (0)