iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >判断Android程序是否在前台运行的两种方法
  • 903
分享到

判断Android程序是否在前台运行的两种方法

运行方法Android 2022-06-06 09:06:11 903人浏览 泡泡鱼
摘要

@Override protected void onStop() { if (!isAppOnForeground()) { Debug.i("dwy",


@Override 
protected void onStop() { 
  if (!isAppOnForeground()) { 
    Debug.i("dwy", "enter background"); 
    mIsBackground = true; 
  } else { 
    Debug.i("dwy", "foreground"); 
    mIsBackground = false; 
  } 

Judge is App in background when onStop() get called.


public boolean isAppOnForeground() { 
    // Returns a list of application processes that are running on the 
    // device 
    ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 
    String packageName = getApplicationContext().getPackageName(); 
    List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager 
        .getRunningAppProcesses(); 
    if (appProcesses == null) 
      return false; 
    for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) { 
      // The name of the process that this object is associated with. 
      if (appProcess.processName.equals(packageName) 
          && appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { 
        return true; 
      } 
    } 
    return false; 
  } 


方法二:


 
  public boolean isApplicationBroughtToBackground(Context context) { 
    ActivityManager am = (ActivityManager) context 
            .getSystemService(Context.ACTIVITY_SERVICE); 
    List<RunningTaskInfo> tasks = am.getRunningTasks(1); 
    if (tasks != null && !tasks.isEmpty()) { 
      ComponentName topActivity = tasks.get(0).topActivity; 
      Debug.i(TAG, "topActivity:" + topActivity.flattenToString()); 
      Debug.f(TAG, "topActivity:" + topActivity.flattenToString()); 
      if (!topActivity.getPackageName().equals(context.getPackageName())) { 
        return true; 
      } 
    } 
    return false; 
  } 
您可能感兴趣的文章:Android 判断程序在前台运行还是后台运行Android 判断某个服务(service)是否运行Android实现Service在前台运行服务Android 判断某个Activity 是否在前台运行的实例


--结束END--

本文标题: 判断Android程序是否在前台运行的两种方法

本文链接: https://www.lsjlt.com/news/26666.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作