如何在Android中分析App的用途?

时间:2013-01-19 18:29:21

标签: android profiling root

我想在Android系统中收集App激活序列。

E.g。

如果用户首先打开Youtube应用程序,然后切换到Gmail应用程序,然后切换回Youtube应用程序,依此类推,那么序列如下:

Youtube Gmail Youtube ...

Google Play或其他地方是否有可用的应用程序来实现此目的?

实施起来很简单吗?是否有可能通过纯App解决方案实现目标?

是否要求设备生根?

1 个答案:

答案 0 :(得分:0)

您需要定期轮询此功能。 您可以进一步编写逻辑以删除随后的重复应用程序标签。

private string getActiveApplicationLabel(){
  String appLabel = null;
  ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
  List l = am.getRunningAppProcesses();
  Iterator i = l.iterator();
  PackageManager pm = this.getPackageManager();
  while(i.hasNext()) {
  ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());

  try {
    CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName,  
     PackageManager.GET_META_DATA));
     appLabel = c.toString();
    }catch(Exception e) {
      //Name Not FOund Exception
    }

 }
 return appLabel;
}