获取Android L中顶级活动的包名称

获取Android L中顶级活动的包名称,android,Android,在旧版本上,以下代码有效 ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(ACTIVITY_SERVICE); String pkgname = am.getRunningTasks(1).get(0).topActivity.getPackageName(); 它不再在Android L上工作。它总是返回启动器的包名。我如何在Android L中获得它?或许可以帮助您: Act

在旧版本上,以下代码有效

ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(ACTIVITY_SERVICE);  
String pkgname = am.getRunningTasks(1).get(0).topActivity.getPackageName();
它不再在Android L上工作。它总是返回启动器的包名。我如何在Android L中获得它?

或许可以帮助您:

ActivityManager mActivityManager =(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);

if(Build.VERSION.SDK_INT > 20){
String mPackageName = mActivityManager.getRunningAppProcesses().get(0).processName;
}
else{
  String mpackageName = mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
}

非常感谢。我的英语不好。恐怕没有人能理解我的问题。