Android-zai android5.0上获取正在运行的应用程序

发布于 2017-07-14 17:24:31 字数 826 浏览 1207 评论 1


我想要获取Android手机正在运行的应用程序,可是我用了两个方法都不能在Android5.0的手机上运行正常,如果有谁知道,请告诉我该怎么办

1、List<RunningTaskInfo> runningTasksInfos = activityManager.getRunningTasks(1);
RunningTaskInfo runningTaskInfo = runningTasksInfos.get(0);
ComponentName component = runningTaskInfo.topActivity;
String packageName = component.getPackageName();
String apppackage = component.getClassName();
第一个方法,在5.0的机子上只能返回桌面的包名且只有一个

2、List<ActivityManager.RunningAppProcessInfo> rti = activityManager.getRunningAppProcesses();
for(RunningAppProcessInfo info:rti){
System.out.println("___"+info.processName);
}
第二个方法,在5.0的机子上,只返回本应用的包名且只有一个

如果有谁知道请告诉我,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清晨说ぺ晚安 2017-08-22 22:59:53

Google补丁CVE-2015-3833风险接口排查
背景:
Google安全补丁CVE-2015-3833代码中,对接口getRunningAppProcesses()的实现做了更改。修改为只有系统或者签名应用才有权限调用。非系统应用,获取返回值为空,会导致逻辑异常。主要涉及如下2个接口:
1、public List<RunningAppProcessInfo> getRunningAppProcesses() :Returns a list of application processes that are running on the device.
2、public List<ApplicationInfo> getRunningExternalApplications()
排查指导:第三方应用可以通过检查是否调用上面两个接口,如果调用了,预计8月15号在Android5.0、5.1所有合入Google发布的CVE-2015-3833补丁的产品,这个接口将只能被有系统或者签名的应用调用。请涉及到此接口的第三方应用提前做好整改,避免出现应用不能使用的情况。

我只是突然想起了这个问题

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文