如何判断Activity,Service,App是否在运行?
2017-12-26 20:30
344 查看
转至http://blog.csdn.net/zhangfei_jiayou/article/details/21240089
如何判断Activity,Service,App是否在运行?
原创 2014年03月14日16:07:06
10824
判断Activity是否在运行(可见):
[java] view
plain copy
public static boolean isActivityRunning(Context mContext,String activityClassName){
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> info = activityManager.getRunningTasks(1);
if(info != null && info.size() > 0){
ComponentName component = info.get(0).topActivity;
if(<span style="font-family:Arial, Helvetica, sans-serif;">activityClassName</span>.equals(component.getClassName())){
return true;
}
}
return false;
}
判断Service是否在运行?
[java] view
plain copy
public static boolean isServiceRunning(Context mContext,String className) {
boolean isRunning = false;
ActivityManager activityManager = (ActivityManager)
mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(30);
if (!(serviceList.size()>0)) {
return false;
}
for (int i=0; i<serviceList.size(); i++) {
if (serviceList.get(i).service.getClassName().equals(className) == true) {
isRunning = true;
break;
}
}
return isRunning;
}
判断app是否打开运行状态?
第一种方法:
[java] view
plain copy
public static boolean isAppInForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
return appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
}
}
return false;
}
[java] view
plain copy
第二种方法:
[java] view
plain copy
// need permission: <uses-permission android:name="android.permission.GET_TASKS" />
public static boolean isAppInForeground2(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
相关文章推荐
- 如何判断Activity,Service,App是否在运行?
- 如何判断Activity,Service,App是否在运行?
- Android中如何判断本app是否在前台运行
- 利用ActivityLifecycleCallbacks判断APP是否在后台运行
- 利用ActivityLifecycleCallbacks判断APP是否在后台运行
- 判断app是否后台运行,判断activity是否已经打开,是否点中home键
- 利用ActivityLifecycleCallbacks判断APP是否在后台运行
- 利用ActivityLifecycleCallbacks判断APP是否在后台运行
- 在Activity中判断Service是否已经运行
- 如何判断当前 app 是否在前台运行。
- 判断Activity,Service是否正在运行
- 如何判断android的activity是否运行
- iOS开发时如何判断APP是否第一次运行
- ActivityLifecycleCallbacks如何判断APP是否在前台
- 如何用创建命名对象来判断应用程序是否已有一个实例在运行?
- android判断service或者process是否运行
- Android判断一个Service是否运行 对服务的判断
- 在写PHP脚本的时候,如何判断是否是从CLI环境运行
- Android - 如何判断Service还在运行
- 如何判断程序是否重复运行的几种方法