package com.example.test;import java.util.List;import android.app.ActivityManager;import android.app.ActivityManager.RunningAppProcessInfo;import android.content.Context;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.util.Log;public class MainActivity extends ActionBarActivity {private boolean isActive;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overrideprotected void onStop() {super.onStop();if (!isAppOnForeground()) {// app 进入后台Log.i("TAG", "app 进入后台 --");isActive = false;}}@Overrideprotected void onResume() {super.onResume();if (!isActive) {// app 从后台唤醒,进入前台Log.i("TAG", "app 进入前台 ++");isActive = true;}}/** * 判断程序是否在前台运行 *  * @return true:程序处于前台,false:程序在后台 */public boolean isAppOnForeground() {// Returns a list of application processes that are running on the// deviceActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);String packageName = getApplicationContext().getPackageName();List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();if (appProcesses == null)return false;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) {return true;}}return false;}}

更多相关文章

  1. Android(安卓)ExpandableListView 使用示例
  2. Aandroid 关于处理个推透传消息
  3. Android(安卓)NumberPicker 使用示例
  4. Android手机目录结构
  5. 友盟统计配置
  6. Android中关于路径
  7. android后台打水印,并进行压缩
  8. 取得应用程序的版本号 (跨4个平台)
  9. Android短信发送程序核心代码

随机推荐

  1. Android中SQLite数据库存储方式
  2. Android启动过程详解(3)——Zygote
  3. Android旋转屏幕时阻止activity重建
  4. Android之view重绘
  5. AsyncTask源码剖析(API 23)
  6. Android系统学习(37)---Android知识点及资
  7. android Activity 四大启动模式探究
  8. aidl
  9. 【zz】安装Android的Eclipse插件ADT遇到
  10. Android(安卓)ADK 编程简介