在Android中,如何判断当前是否在桌面上

 我来答
厦门侯
高粉答主

2018-08-27 · 信息管理员
厦门侯
采纳数:30618 获赞数:90299

向TA提问 私信TA
展开全部
判断过程有三个知识点。
1.如何找出正在运行的任务。 Android系统是支持多任务的,找到所有运行的任务是关键。
2.如何找出当前正在运行的任务。虽然android是多任务的系统,但是同时在前端运行的应用只会有一个。
3.如何找出桌面。

完整代码如下:
public boolean isHome(){
homes = getHomes();
ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<</span>RunningTaskInfo> rti = mActivityManager.getRunningTasks(1);
return homes.contains(rti.get(0).topActivity.getPackageName());
}
private List<</span>String> getHomes() {
List<</span>String> packages = new ArrayList<</span>String>();
PackageManager packageManager = ListenService.this.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
List<</span>ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
for(ResolveInfo info : resolveInfo){
packages.add(info.activityInfo.packageName);
System.out.println(info.activityInfo.packageName);
}
return packages;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式