在开发桌面飘浮控件的时候,须要通过service查看当前是不是桌面,从而控制漂浮窗的显现与消失,以下的代码就是推断是否是桌面的方法
  /**      * 推断当前界面是否是桌面      */      private boolean isHome() {          ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);          List<RunningTaskInfo> rti = mActivityManager.getRunningTasks(1);          return getHomes().contains(rti.get(0).topActivity.getPackageName());      }        /**      * 获得属于桌面的应用的应用包名称      *       * @return 返回包括全部包名的字符串列表      */      private List<String> getHomes() {          List<String> names = new ArrayList<String>();          PackageManager packageManager = this.getPackageManager();          Intent intent = new Intent(Intent.ACTION_MAIN);          intent.addCategory(Intent.CATEGORY_HOME);          List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,                  PackageManager.MATCH_DEFAULT_ONLY);          for (ResolveInfo ri : resolveInfo) {              names.add(ri.activityInfo.packageName);          }          return names;      }  


更多相关文章

  1. 继承Application实现Android数据共享
  2. android 桌面斗地主
  3. Android(安卓)4.0 新增的显示数据集的桌面控件
  4. 安卓学习笔记之使用widget桌面小控件及源码分析
  5. Android(安卓)4.4堆叠结构的变化
  6. Linux桌面大步向前走
  7. Android(安卓)CircularFloatingActionMenu:作为系统级按钮悬浮桌
  8. Android获取桌面启动图标的位置
  9. android launcher总体分析 .

随机推荐

  1. Android的Layout --- 布局
  2. 两分钟彻底让你明白Android(安卓)Activit
  3. Android(安卓)动画 - ScaleAnimation 缩
  4. Android(安卓)水波纹扩散效果
  5. Android通过设置颜色的透明度来获取颜色
  6. 打开Android(安卓)Studio报错 "required
  7. Paint的setMaskFilter(MaskFilter maskfi
  8. Ubuntu 14.04 下 android studio 安装 和
  9. Android将String保存为SD卡中TXT文件的方
  10. Android中全局搜索(QuickSearchBox)详解