Android Lollipop 5.0 无法获得后台运行的activity名称

文章标签: android-5.0,android
2015-1-22 9:37:38     人阅读    


    我使用下面的代码获得在后代运行的app的名称,主要是 foregroundTaskPackageName 方法的调用,经过测试在android 4.1 到 4.4的版本都运行的很好,但是在Android 5.0 Lollipop. 中获得不到,无法得到真实的后台运行app名称

         如何才能然跟这个代码在 Android 5.0 Lollipop 中正常工作?我在Android 5.0 Lollipop中通过 foregroundTaskPackageName 或的名称是 'Launcher3',我使用过的模拟器是  Genymotion Emulator.
下面是我运行时的代码

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
RunningTaskInfo foregroundTaskInfo = am.getRunningTasks(1).get(0); // get
 
                                                                        // list
 
                                                                        // of
 
                                                                        // running
 
                                                                        // tasks
String foregroundTaskAppName = null;
String foregroundTaskPackageName = foregroundTaskInfo.topActivity
 
                .getPackageName();


 

处理方法


你需要使用新的 new UsageStatsManager 并且调用他的queryUsageStats方法来获得启动的历史记录,调用这个方法需要设置权限“Apps with usage access.”


原文地址:http://www.itmmd.com/201501/535.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

数字格式化问题 Android 5.0   上一篇
下一篇  android学习笔记(47)事件和事件监听器
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!