Android 判断某个Activity 是否在前台运行的实例

如下所示:

  /**
   * 判断某个界面是否在前台
   *
   * @param context  Context
   * @param className 界面的类名
   * @return 是否在前台显示
   */
  public static boolean isForeground(Context context, String className) {
    if (context == null || TextUtils.isEmpty(className))
      return false;
    ActivityManager am = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1);
//    boolean flag=false;
    for (ActivityManager.RunningTaskInfo taskInfo : list) {
      if (taskInfo.topActivity.getShortClassName().contains(className)) { // 说明它已经启动了
//        flag = true;
        return true;
      }
    }
    return false;
  }
    if(TCPHandle.isForeground(HomeActivity.this,"EvaluateForHandActivity")||TCPHandle.isForeground(HomeActivity.this,"EvaluateActivity"))
    {
      return;
    }

以上这篇Android 判断某个Activity 是否在前台运行的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • 判断Android程序是否在前台运行的两种方法
  • Android 判断程序在前台运行还是后台运行
  • Android 判断某个服务(service)是否运行
  • Android实现Service在前台运行服务
(0)

相关推荐

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

    @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 wh

  • Android 判断某个服务(service)是否运行

    判断某个服务是否正在运行的方法 实现代码: /** * * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackstage.TestService) * @return true代表正在运行,false代表服务没有正在运行 */ public boolean isServiceWork(Context mContext, String serviceName) { boolean isWork = f

  • Android实现Service在前台运行服务

    前言 在做手机音乐播放器的时候,让我非常苦恼的一件事就是手机有清理内存的软件,比如百度,360等等,一点击清理音乐就停止播放了,去后台查看发现Service已经被停止并重新启动了,这显然不是我想要的,我希望音乐能够在后台播放,并且自己能控制什么时候退出,不想让系统给我清理了,就像酷狗一直在通知栏显示那样,于是我就知道了在前台运行的服务. 实现 我们先看一下结果图: 这是运行在通知栏的界面,这样就是让服务在前台运行,再清理的时候就不会导致服务被关闭了. 好了,我们直接上代码,因为要开启服务,所以我

  • Android 判断程序在前台运行还是后台运行

    就简单的一个方法,就不用写什么步骤了: public static boolean Frontdesk(Context context) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManage

  • Android 判断某个Activity 是否在前台运行的实例

    如下所示: /** * 判断某个界面是否在前台 * * @param context Context * @param className 界面的类名 * @return 是否在前台显示 */ public static boolean isForeground(Context context, String className) { if (context == null || TextUtils.isEmpty(className)) return false; ActivityManage

  • android判断一个Activity是否处于栈顶的实例

    实际开发中我们需要很多情况需要判断某个activity是否位于栈顶,也许会给新的小伙伴带来困扰,那么直接上代码吧,也没几行 /** * * 判断某activity是否处于栈顶 * @return true在栈顶 false不在栈顶 */ private boolean isActivityTop(Class cls,Context context){ ActivityManager manager = (ActivityManager) context.getSystemService(Cont

  • Android判断当前App是在前台还是在后台

    本文实例为大家分享了Android判断当前App状态的具体实现代码,供大家参考,具体内容如下 第一种: /** *判断当前应用程序处于前台还是后台 * * @param context * @return */ public static boolean isApplicationBroughtToBackground(final Context context) { ActivityManager am = (ActivityManager) context.getSystemService(

  • Android判断当前应用程序处于前台还是后台的两种方法

    1.通过RunningTaskInfo类判断(需要额外权限): 复制代码 代码如下: /**     *判断当前应用程序处于前台还是后台     */    public static boolean isApplicationBroughtToBackground(final Context context) {        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SER

  • Android编程判断当前应用是否在后台运行的方法示例

    本文实例讲述了Android编程判断当前应用是否在后台运行的方法.分享给大家供大家参考,具体如下: /** 判断程序是否在后台运行 */ public static boolean isRunBackground(Context context) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProc

  • 详解Android Service与Activity之间通信的几种方式

    在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,Intent中我们可以传递数据给Service,而当我们Service执行某些操作之后想要更新UI线程,我们应该怎么做呢?接下来我就介绍两种方式来实现Service与Activity之间的通信问题 通过Binder对象 当Activity通过调

  • Android判断App前台运行还是后台运行(运行状态)

    本文通过图文并茂的方式给大家介绍android判断app状态的相关内容,具体详情如下所示: 要了解这块,首先需要明白一些概念,app,process,task 1.process就是进程,是linux的概念. 2.一般一个app拥有一个uid,运行在一个进程里,如果app中给service等定义不同的uid,那Service就运行在另外一个进程里,也就是说uid就相当于进程的id一样,一个uid就代表一个进程:也可以几个app定义一个uid,那他们就运行在一个进程里了. 3.task是andro

  • Android开发判断一个app应用是否在运行的方法详解

    本文实例讲述了Android开发判断一个app应用是否在运行的方法.分享给大家供大家参考,具体如下: 在一个应用中,或一个Service .Receiver中有时候需要判断一个应用是否正在运行,以便进行一些相关的处理,这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理Activity的,它有一个方法叫getRunningTasks,可以得到当前系统正在运行的Task的列表,代码如下: ActivityManager am = (ActivityManage

  • Android检测Activity或者Service是否运行的方法

    需求:假设我们的APP有3个页面AActivity,BActivity,CActivity,我们的APP需要一直运行在前台(特殊设备),要求实现一个监控服务,来监视APP是否运行,如果有3个页面都不运行了就说明这个APP已经挂掉了,否则说明APP在运行状态,不做处理,挂掉之后,我们需要重新启动App来让它继续处理运行状态,对外暴露一个来停止监控服务的广播,这样我们想停止监控服务时,发送一个广播即可. 思路:实现一个双进程的监控服务,服务中写一个定时器 Timer 来重复进行检测是否正在运行,如果

  • Android判断当前栈顶Activity的包名代码示例

    有时候,我们想做一个功能需求的时候,在网上找相关资料,总是找不到想要的,所以我就想到了用博客来记录和整理自己发现的新东西,话不多说,直接撸代码~ //判断当前是不是桌面 public static Boolean isHome(Context context) { String topPackageName = getTopActivityName(context); //此处做了判断如果得到的是null的话就返回一个true return topPackageName == null ? tr

随机推荐