1
1
package com .blankj .utilcode .util ;
2
2
3
3
import android .app .Activity ;
4
- import android .app .ActivityManager ;
5
4
import android .content .ComponentName ;
6
5
import android .content .Context ;
7
6
import android .content .Intent ;
@@ -55,7 +54,7 @@ public static boolean isActivityExists(@NonNull final String pkg,
55
54
* @param clz The activity class.
56
55
*/
57
56
public static void startActivity (@ NonNull final Class <?> clz ) {
58
- Context context = getActivityOrApp ();
57
+ Context context = Utils . getTopActivityOrApp ();
59
58
startActivity (context , null , context .getPackageName (), clz .getName (), null );
60
59
}
61
60
@@ -67,7 +66,7 @@ public static void startActivity(@NonNull final Class<?> clz) {
67
66
*/
68
67
public static void startActivity (@ NonNull final Class <?> clz ,
69
68
@ Nullable final Bundle options ) {
70
- Context context = getActivityOrApp ();
69
+ Context context = Utils . getTopActivityOrApp ();
71
70
startActivity (context , null , context .getPackageName (), clz .getName (), options );
72
71
}
73
72
@@ -83,7 +82,7 @@ public static void startActivity(@NonNull final Class<?> clz,
83
82
public static void startActivity (@ NonNull final Class <?> clz ,
84
83
@ AnimRes final int enterAnim ,
85
84
@ AnimRes final int exitAnim ) {
86
- Context context = getActivityOrApp ();
85
+ Context context = Utils . getTopActivityOrApp ();
87
86
startActivity (context , null , context .getPackageName (), clz .getName (),
88
87
getOptionsBundle (context , enterAnim , exitAnim ));
89
88
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN && context instanceof Activity ) {
@@ -144,7 +143,6 @@ public static void startActivity(@NonNull final Activity activity,
144
143
@ NonNull final Class <?> clz ,
145
144
@ AnimRes final int enterAnim ,
146
145
@ AnimRes final int exitAnim ) {
147
-
148
146
startActivity (activity , null , activity .getPackageName (), clz .getName (),
149
147
getOptionsBundle (activity , enterAnim , exitAnim ));
150
148
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN ) {
@@ -160,7 +158,7 @@ public static void startActivity(@NonNull final Activity activity,
160
158
*/
161
159
public static void startActivity (@ NonNull final Bundle extras ,
162
160
@ NonNull final Class <?> clz ) {
163
- Context context = getActivityOrApp ();
161
+ Context context = Utils . getTopActivityOrApp ();
164
162
startActivity (context , extras , context .getPackageName (), clz .getName (), null );
165
163
}
166
164
@@ -174,7 +172,7 @@ public static void startActivity(@NonNull final Bundle extras,
174
172
public static void startActivity (@ NonNull final Bundle extras ,
175
173
@ NonNull final Class <?> clz ,
176
174
@ NonNull final Bundle options ) {
177
- Context context = getActivityOrApp ();
175
+ Context context = Utils . getTopActivityOrApp ();
178
176
startActivity (context , extras , context .getPackageName (), clz .getName (), options );
179
177
}
180
178
@@ -192,7 +190,7 @@ public static void startActivity(@NonNull final Bundle extras,
192
190
@ NonNull final Class <?> clz ,
193
191
@ AnimRes final int enterAnim ,
194
192
@ AnimRes final int exitAnim ) {
195
- Context context = getActivityOrApp ();
193
+ Context context = Utils . getTopActivityOrApp ();
196
194
startActivity (context , extras , context .getPackageName (), clz .getName (),
197
195
getOptionsBundle (context , enterAnim , exitAnim ));
198
196
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN && context instanceof Activity ) {
@@ -276,7 +274,7 @@ public static void startActivity(@NonNull final Bundle extras,
276
274
*/
277
275
public static void startActivity (@ NonNull final String pkg ,
278
276
@ NonNull final String cls ) {
279
- startActivity (getActivityOrApp (), null , pkg , cls , null );
277
+ startActivity (Utils . getTopActivityOrApp (), null , pkg , cls , null );
280
278
}
281
279
282
280
/**
@@ -289,7 +287,7 @@ public static void startActivity(@NonNull final String pkg,
289
287
public static void startActivity (@ NonNull final String pkg ,
290
288
@ NonNull final String cls ,
291
289
@ Nullable final Bundle options ) {
292
- startActivity (getActivityOrApp (), null , pkg , cls , options );
290
+ startActivity (Utils . getTopActivityOrApp (), null , pkg , cls , options );
293
291
}
294
292
295
293
/**
@@ -306,7 +304,7 @@ public static void startActivity(@NonNull final String pkg,
306
304
@ NonNull final String cls ,
307
305
@ AnimRes final int enterAnim ,
308
306
@ AnimRes final int exitAnim ) {
309
- Context context = getActivityOrApp ();
307
+ Context context = Utils . getTopActivityOrApp ();
310
308
startActivity (context , null , pkg , cls , getOptionsBundle (context , enterAnim , exitAnim ));
311
309
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN && context instanceof Activity ) {
312
310
((Activity ) context ).overridePendingTransition (enterAnim , exitAnim );
@@ -389,7 +387,7 @@ public static void startActivity(@NonNull final Activity activity,
389
387
public static void startActivity (@ NonNull final Bundle extras ,
390
388
@ NonNull final String pkg ,
391
389
@ NonNull final String cls ) {
392
- startActivity (getActivityOrApp (), extras , pkg , cls , null );
390
+ startActivity (Utils . getTopActivityOrApp (), extras , pkg , cls , null );
393
391
}
394
392
395
393
/**
@@ -404,7 +402,7 @@ public static void startActivity(@NonNull final Bundle extras,
404
402
@ NonNull final String pkg ,
405
403
@ NonNull final String cls ,
406
404
@ NonNull final Bundle options ) {
407
- startActivity (getActivityOrApp (), extras , pkg , cls , options );
405
+ startActivity (Utils . getTopActivityOrApp (), extras , pkg , cls , options );
408
406
}
409
407
410
408
/**
@@ -423,7 +421,7 @@ public static void startActivity(@NonNull final Bundle extras,
423
421
@ NonNull final String cls ,
424
422
@ AnimRes final int enterAnim ,
425
423
@ AnimRes final int exitAnim ) {
426
- Context context = getActivityOrApp ();
424
+ Context context = Utils . getTopActivityOrApp ();
427
425
startActivity (context , extras , pkg , cls , getOptionsBundle (context , enterAnim , exitAnim ));
428
426
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN && context instanceof Activity ) {
429
427
((Activity ) context ).overridePendingTransition (enterAnim , exitAnim );
@@ -509,7 +507,7 @@ public static void startActivity(@NonNull final Bundle extras,
509
507
* @param intent The description of the activity to start.
510
508
*/
511
509
public static void startActivity (@ NonNull final Intent intent ) {
512
- startActivity (intent , getActivityOrApp (), null );
510
+ startActivity (intent , Utils . getTopActivityOrApp (), null );
513
511
}
514
512
515
513
/**
@@ -520,7 +518,7 @@ public static void startActivity(@NonNull final Intent intent) {
520
518
*/
521
519
public static void startActivity (@ NonNull final Intent intent ,
522
520
@ NonNull final Bundle options ) {
523
- startActivity (intent , getActivityOrApp (), options );
521
+ startActivity (intent , Utils . getTopActivityOrApp (), options );
524
522
}
525
523
526
524
/**
@@ -535,7 +533,7 @@ public static void startActivity(@NonNull final Intent intent,
535
533
public static void startActivity (@ NonNull final Intent intent ,
536
534
@ AnimRes final int enterAnim ,
537
535
@ AnimRes final int exitAnim ) {
538
- Context context = getActivityOrApp ();
536
+ Context context = Utils . getTopActivityOrApp ();
539
537
startActivity (intent , context , getOptionsBundle (context , enterAnim , exitAnim ));
540
538
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN && context instanceof Activity ) {
541
539
((Activity ) context ).overridePendingTransition (enterAnim , exitAnim );
@@ -606,7 +604,7 @@ public static void startActivity(@NonNull final Activity activity,
606
604
* @param intents The descriptions of the activities to start.
607
605
*/
608
606
public static void startActivities (@ NonNull final Intent [] intents ) {
609
- startActivities (intents , getActivityOrApp (), null );
607
+ startActivities (intents , Utils . getTopActivityOrApp (), null );
610
608
}
611
609
612
610
/**
@@ -617,7 +615,7 @@ public static void startActivities(@NonNull final Intent[] intents) {
617
615
*/
618
616
public static void startActivities (@ NonNull final Intent [] intents ,
619
617
@ Nullable final Bundle options ) {
620
- startActivities (intents , getActivityOrApp (), options );
618
+ startActivities (intents , Utils . getTopActivityOrApp (), options );
621
619
}
622
620
623
621
/**
@@ -632,7 +630,7 @@ public static void startActivities(@NonNull final Intent[] intents,
632
630
public static void startActivities (@ NonNull final Intent [] intents ,
633
631
@ AnimRes final int enterAnim ,
634
632
@ AnimRes final int exitAnim ) {
635
- Context context = getActivityOrApp ();
633
+ Context context = Utils . getTopActivityOrApp ();
636
634
startActivities (intents , context , getOptionsBundle (context , enterAnim , exitAnim ));
637
635
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .JELLY_BEAN && context instanceof Activity ) {
638
636
((Activity ) context ).overridePendingTransition (enterAnim , exitAnim );
@@ -1161,28 +1159,28 @@ public static Drawable getActivityLogo(final ComponentName activityName) {
1161
1159
}
1162
1160
}
1163
1161
1164
- private static Context getActivityOrApp () {
1165
- if (isAppForeground ()) {
1166
- Activity topActivity = getTopActivity ();
1167
- return topActivity == null ? Utils .getApp () : topActivity ;
1168
- } else {
1169
- return Utils .getApp ();
1170
- }
1171
- }
1172
-
1173
- private static boolean isAppForeground () {
1174
- ActivityManager am =
1175
- (ActivityManager ) Utils .getApp ().getSystemService (Context .ACTIVITY_SERVICE );
1176
- if (am == null ) return false ;
1177
- List <ActivityManager .RunningAppProcessInfo > info = am .getRunningAppProcesses ();
1178
- if (info == null || info .size () == 0 ) return false ;
1179
- for (ActivityManager .RunningAppProcessInfo aInfo : info ) {
1180
- if (aInfo .importance == ActivityManager .RunningAppProcessInfo .IMPORTANCE_FOREGROUND ) {
1181
- return aInfo .processName .equals (Utils .getApp ().getPackageName ());
1182
- }
1183
- }
1184
- return false ;
1185
- }
1162
+ // private static Context getTopActivityOrApp () {
1163
+ // if (isAppForeground()) {
1164
+ // Activity topActivity = getTopActivity();
1165
+ // return topActivity == null ? Utils.getApp() : topActivity;
1166
+ // } else {
1167
+ // return Utils.getApp();
1168
+ // }
1169
+ // }
1170
+ //
1171
+ // private static boolean isAppForeground() {
1172
+ // ActivityManager am =
1173
+ // (ActivityManager) Utils.getApp().getSystemService(Context.ACTIVITY_SERVICE);
1174
+ // if (am == null) return false;
1175
+ // List<ActivityManager.RunningAppProcessInfo> info = am.getRunningAppProcesses();
1176
+ // if (info == null || info.size() == 0) return false;
1177
+ // for (ActivityManager.RunningAppProcessInfo aInfo : info) {
1178
+ // if (aInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
1179
+ // return aInfo.processName.equals(Utils.getApp().getPackageName());
1180
+ // }
1181
+ // }
1182
+ // return false;
1183
+ // }
1186
1184
1187
1185
private static void startActivity (final Context context ,
1188
1186
final Bundle extras ,
0 commit comments