获取Android L中Top Activity的包名



在旧版本上,下面的代码可以工作。

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();
}

查看此链接

最新更新