android 判断当前程序是否在前台运行

来源:互联网 发布:淘宝卖家售后流程图 编辑:程序博客网 时间:2024/06/05 15:41
package cn.testforeground;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.app.ActivityManager;import android.app.ActivityManager.RunningTaskInfo;import android.content.ComponentName;import android.content.Context;/** * Demo描述: * 判断当前应用是否在前台运行 *  * 注意权限: *  <uses-permission android:name ="android.permission.GET_TASKS" /> */public class MainActivity extends Activity {     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        isRunningForeground();    }     public boolean isRunningForeground(){        String packageName=getPackageName(this);        String topActivityClassName=getTopActivityName(this);        System.out.println("packageName="+packageName+",topActivityClassName="+topActivityClassName);        if (packageName!=null&&topActivityClassName!=null&&topActivityClassName.startsWith(packageName)) {            System.out.println("---> isRunningForeGround");            return true;        } else {            System.out.println("---> isRunningBackGround");            return false;        }    }              public  String getTopActivityName(Context context){        String topActivityClassName=null;         ActivityManager activityManager =        (ActivityManager)(context.getSystemService(android.content.Context.ACTIVITY_SERVICE )) ;         List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1) ;         if(runningTaskInfos != null){             ComponentName f=runningTaskInfos.get(0).topActivity;             topActivityClassName=f.getClassName();         }         return topActivityClassName;    }         public String getPackageName(Context context){         String packageName = context.getPackageName();           return packageName;    }}

项目需要研究,通知栏进入程序,技术点有判断当前程序是否在前台运行。上网搜到该帖。

转载地址:http://www.2cto.com/kf/201308/237255.html

原创粉丝点击