android 判断当前应用的是否为前台task 判断当前的activity是否为top activity 判断当前应用的是否为后台task
2014-10-24 16:53
288 查看
import java.util.List;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.util.Log;
public class SystemUtils {
public static final int DEFAULT_TASK_NUM = 100;
public static List<RunningTaskInfo> getRunningTask(Context context) {
return getRunningTask(context, DEFAULT_TASK_NUM);
}
public static List<RunningTaskInfo> getRunningTask(Context context, int num) {
if (context != null) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> rTasks = am.getRunningTasks(1);
return rTasks;
}
return null;
}
public static boolean isTopActivity(Activity activity) {
return isTopActivity(activity, activity.getClass());
}
public static boolean isTopActivity(Context context,
Class<? extends Activity> activity) {
return isTopActivity(context, activity.getName());
}
/**
* 判断当前的activity是否为top activity
* @param context
* @param className
* @return
*/
public static boolean isTopActivity(Context context, String className) {
List<RunningTaskInfo> rTasks = getRunningTask(context, 1);
for (RunningTaskInfo task : rTasks) {
Log.d("SystemUtils", "isTopActivity:" + task.topActivity.getClassName()
+ "|" + className);
if (task.topActivity.getClassName().equals(className)) {
return true;
}
}
return false;
}
/**
* 判断当前应用的是否为前台task
*
* @param context
* @return
*/
public static boolean isAppForgroud(Context context) {
if (context != null) {
String packName = context.getPackageName();
List<RunningTaskInfo> rTasks = getRunningTask(context, 1);
RunningTaskInfo task = rTasks.get(0);
return packName.equalsIgnoreCase(task.topActivity.getPackageName());
}
return false;
}
/**
* 判断当前应用的是否为后台task
*
* @param context
* @param packName
* @return
*/
public static boolean isAppBackgroud(Context context) {
if (context != null) {
String packName = context.getPackageName();
List<RunningTaskInfo> rTasks = getRunningTask(context, 1);
RunningTaskInfo task = rTasks.get(0);
return !packName
.equalsIgnoreCase(task.topActivity.getPackageName());
}
return false;
}
}
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.util.Log;
public class SystemUtils {
public static final int DEFAULT_TASK_NUM = 100;
public static List<RunningTaskInfo> getRunningTask(Context context) {
return getRunningTask(context, DEFAULT_TASK_NUM);
}
public static List<RunningTaskInfo> getRunningTask(Context context, int num) {
if (context != null) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> rTasks = am.getRunningTasks(1);
return rTasks;
}
return null;
}
public static boolean isTopActivity(Activity activity) {
return isTopActivity(activity, activity.getClass());
}
public static boolean isTopActivity(Context context,
Class<? extends Activity> activity) {
return isTopActivity(context, activity.getName());
}
/**
* 判断当前的activity是否为top activity
* @param context
* @param className
* @return
*/
public static boolean isTopActivity(Context context, String className) {
List<RunningTaskInfo> rTasks = getRunningTask(context, 1);
for (RunningTaskInfo task : rTasks) {
Log.d("SystemUtils", "isTopActivity:" + task.topActivity.getClassName()
+ "|" + className);
if (task.topActivity.getClassName().equals(className)) {
return true;
}
}
return false;
}
/**
* 判断当前应用的是否为前台task
*
* @param context
* @return
*/
public static boolean isAppForgroud(Context context) {
if (context != null) {
String packName = context.getPackageName();
List<RunningTaskInfo> rTasks = getRunningTask(context, 1);
RunningTaskInfo task = rTasks.get(0);
return packName.equalsIgnoreCase(task.topActivity.getPackageName());
}
return false;
}
/**
* 判断当前应用的是否为后台task
*
* @param context
* @param packName
* @return
*/
public static boolean isAppBackgroud(Context context) {
if (context != null) {
String packName = context.getPackageName();
List<RunningTaskInfo> rTasks = getRunningTask(context, 1);
RunningTaskInfo task = rTasks.get(0);
return !packName
.equalsIgnoreCase(task.topActivity.getPackageName());
}
return false;
}
}
相关文章推荐
- (android实战)判断当前task中的运行的activity是否为当前应用
- android 应用退到后台,类似最小化moveTaskToBack(),判断是否是task的根isTaskRoot()
- android判断当前应用在前台还是后台
- Android之后台服务判断本应用Activity是否处于栈顶
- Android判断当前应用是否在前台
- Android判断应用是否正在前台运行&Activity是否正在前台运行
- Android App如何判断应用是否在前台还是处于后台
- Android 判断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在
- Android 判断应用前后台运行状态并获取当前 Activity 实例
- 在android 5.0以上,如何判断当前应用是在前台还是后台
- 在android 5.0以上,如何判断当前应用是在前台还是后台
- Android判断应用是否在前台或后台
- 判断当前task中的运行的activity是否为当前应用
- 半转载半总结:Activity管理---Android之后台服务判断本应用Activity是否处于栈顶
- Android判断应用是否是从后台回到前台
- Android之后台服务判断本应用Activity是否处于栈顶
- 判断当前task中的运行的activity是否为当前应用
- Android之后台服务判断本应用Activity是否处于栈顶
- Android 判断应用前后台运行状态并获取当前 Activity 实例