我们可能在实现notification的逻辑时,需要判断应用是在打开还是后台的状态,如果在后台状态,就发送Notification提醒。


/** * 判断程序是否打开 * @return */public static boolean isRunningInForeground() {    boolean isActivityFound = false;    ActivityManager activityManager = (ActivityManager) MyApplication.getContext().getSystemService(Context.ACTIVITY_SERVICE);    List services = activityManager            .getRunningTasks(1);    if (services.get(0).topActivity.getPackageName().toString()            .equalsIgnoreCase(MyApplication.getContext().getPackageName().toString())) {        isActivityFound = true;    }    return isActivityFound;}

 android:name="android.permission.GET_TASKS"/>

如果想判断别的应用,修改查询的app名

   
    if (services.get(0).topActivity.getPackageName().toString()            .equalsIgnoreCase(查询的app包名)) {        isActivityFound = true;    }

更多相关文章

  1. 如何在后台运行Linux命令?
  2. Android(安卓)拿出后台打印数据
  3. Android架构组件-LiveData
  4. Android事件分发,拦截,处理机制
  5. android 中的activity管理
  6. Button 有按下效果
  7. android访问权限(Android(安卓)permission )大全
  8. 【转】Android(安卓)permission 访问权限大全
  9. Android(安卓)资源文件的命名规范问题

随机推荐

  1. Android快速开发架构PlanA(四),网络请求篇,划
  2. android之AnimationDrawable
  3. Android多分辨率适配框架使用指南
  4. Android系统源码基础知识讲解
  5. Dagger 2 在 Android 上的使用(五)
  6. Dagger 2 在 Android 上的使用(四)
  7. [应用代码] android源码之多线程断点续传
  8. Android开发如何设置文字阴影
  9. 恶意吸费之后,你渴望开放还是开源?
  10. Android中的SQLite使用学习