判断当前界面是否是桌面
来源:互联网 发布:2017网络自制综艺现状 编辑:程序博客网 时间:2024/04/29 00:41
判断当前界面是否是桌面整体思路
- 通过ActivityManager获知topActivity的包名
- 通过PackageManager和桌面Intent(Category_HOME,ACTION_MAIN)查询到所有桌面应用的包名
- 看步骤2的列表中是否含有步骤1的包名,是则为桌面,否则不是
/***判断当前界面是否为桌面*/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; }
ResolveInfo RunningTaskInfo未完待续
0 0
- 判断当前界面是否是桌面
- [Android]判断当前界面是否是桌面
- 判断当前界面是否是桌面
- Android判断当前界面是否是桌面
- android判断当前界面是否是桌面(主页)
- 【转】android判断当前界面是否是桌面(主页)
- Android判断当前界面是否是桌面(主页)
- Android 判断当前的界面是否是桌面的方法
- android判断当前界面是否是桌面(主页)
- Android 判断当前的界面是否是桌面的方法
- android 小技巧之 --- 判断当前界面是否是桌面
- Android判断当前界面是否为桌面
- Android判断当前界面是否是home界面
- Android 判断当前介面是否是在桌面
- android 如何判断当前页面是否是桌面
- 判断当前界面是不是桌面
- 【eclipse rcp】判断当前线程是否是界面线程
- Symbian:判断当前界面为桌面 .
- BZOJ1529ska Piggy banks
- 集群监控--监控指标
- OpenGL, OpenGL ES, WebGL, GLSL, GLSL ES APIs 列表
- 删除顺序表指定元素
- 用蚕茧表示法写简洁实用的接口文档
- 判断当前界面是否是桌面
- 观察者模式与java实现例子
- HTML5学习---单页面手势滑屏切换原理
- C语言中数组与指针
- PHP学习笔记-流程控制语句
- TCP/IP协议(1)——基础知识(协议与接口)
- Bzoj:[Poi2011]Lightning Conductor:决策单调性优化DP详解
- HTML页面绝对定位+相对定位
- 【bzoj3771】Triple FFT