监听应用是否切到后台

/**   
 * 文件名:BaseActivity.java   
 * 版本号:       
 * 日期:2012-6-20
 * 创建人:
 * Copyright wadata 版权所有
 * 变更:
 */
 
packagecom.wadata.mobilefollowup.view.base;
 
importjava.util.List;
importandroid.app.Activity;
importandroid.app.ActivityManager;
importandroid.app.ActivityManager.RunningAppProcessInfo;
importandroid.content.Context;
 
/**
 * 名称:BaseActivity
 * 描述:
 * 创建人:
 * 日期:2012-6-20 下午5:53:35
 * 变更:
 */
 
publicclassBaseActivityextendsActivity {
       @Override
       protectedvoidonStop() {
               // TODO Auto-generated method stub
               super.onStop();
 
               if(!isAppOnForeground()) {
                       //app 进入后台
                        
                       //全局变量isActive = false 记录当前已经进入后台
               }
       }
 
       @Override
       protectedvoidonResume() {
               // TODO Auto-generated method stub
               super.onResume();
 
                
               //if (!isActive) {
                       //app 从后台唤醒,进入前台
                        
                       //isActive = true;
               //}
       }
 
       /**
         * 程序是否在前台运行
         *
         * @return
         */
       publicbooleanisAppOnForeground() {
               // 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<RunningAppProcessInfo> appProcesses = activityManager
                               .getRunningAppProcesses();
               if(appProcesses ==null)
                       returnfalse;
 
               for(RunningAppProcessInfo appProcess : appProcesses) {
                       // The name of the process that this object is associated with.
                       if(appProcess.processName.equals(packageName)
                                       && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                               returntrue;
                       }
               }
 
               returnfalse;
       }
}

你可能感兴趣的:(监听应用是否切到后台)