[Android]判断当前界面是否是桌面
来源:互联网 发布:域名注册 一年 编辑:程序博客网 时间:2024/04/28 18:43
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jackyanngo.blog.51cto.com/5263823/1053240
2.获取安装的桌面程序。
- /**
- * Return PackageManager.
- *
- * @param context A Context of the application package implementing this class.
- * @return a PackageManager instance.
- */
- public static ActivityManager getActivityManager(Context context){
- return (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
- }
3.判断桌面程序是否在栈顶,如果在栈顶说明当前界面是桌面。
- /**
- * Returns a list of launcher that are running on the device.
- *
- * @param context A Context of the application package implementing this class.
- * @return A list which contains all the launcher package name.If there are no launcher, an empty
- * list is returned.
- */
- public static List<String> getLaunchers(Context context){
- List<String> packageNames = new ArrayList<String>();
- PackageManager packageManager = context.getPackageManager();
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_HOME);
- List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
- for(ResolveInfo resolveInfo:resolveInfos){
- ActivityInfo activityInfo = resolveInfo.activityInfo;
- if(activityInfo != null) {
- packageNames.add(resolveInfo.activityInfo.processName);
- packageNames.add(resolveInfo.activityInfo.packageName);
- }
- }
- return packageNames;
- }
- /**
- * Returns whether the launcher which running on the device is importance foreground.
- *
- * @param context A Context of the application package implementing this class.
- * @return True if the importance of the launcher process is {@link android.app.ActivityManager.RunningAppProcessInfo#IMPORTANCE_FOREGROUND}.
- *
- *
- */
- public static boolean isLauncherForeground(Context context){
- boolean isLauncherForeground = false;
- ActivityManager activityManager = getActivityManager(context);
- List<String> lanuchers = getLaunchers(context);
- List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1);
- if(lanuchers.contains(runningTaskInfos.get(0).baseActivity.getPackageName())) {
- isLauncherForeground = true;
- }
- return isLauncherForeground;
- }
0 0
- [Android]判断当前界面是否是桌面
- Android判断当前界面是否是桌面
- android判断当前界面是否是桌面(主页)
- 【转】android判断当前界面是否是桌面(主页)
- Android判断当前界面是否是桌面(主页)
- Android 判断当前的界面是否是桌面的方法
- android判断当前界面是否是桌面(主页)
- Android 判断当前的界面是否是桌面的方法
- android 小技巧之 --- 判断当前界面是否是桌面
- 判断当前界面是否是桌面
- 判断当前界面是否是桌面
- Android判断当前界面是否为桌面
- Android判断当前界面是否是home界面
- Android 判断当前介面是否是在桌面
- android 如何判断当前页面是否是桌面
- android 判断当前是否在桌面
- android 判断是否在桌面,当前程序是否在运行
- Android----获得当前应用包名、当前activity的名字、判断是否是系统桌面、service类
- XCode 显示代码开发行数
- LeetCode | Linked List Cycle
- Android 动画学习笔记
- poj-1338-Ugly Numbers
- poj 1111
- [Android]判断当前界面是否是桌面
- tableviewcell透明
- [编程练习][Median of Two Sorted Arrays]<LeetCode-4>
- all
- 婚姻爱情
- 论文分类号(计算机专业)
- 爱情主题酒店
- LeetCode: Reorder List
- 心胸与格局