Android 如何在棒棒糖版本的设备中获取当前运行的应用程序?

Android 如何在棒棒糖版本的设备中获取当前运行的应用程序?,android,android-5.1.1-lollipop,Android,Android 5.1.1 Lollipop,我正在为所有版本开发AppLocker应用程序。它在棒棒糖前版本中工作,但在棒棒糖版本中不工作 我得到所有正在运行的棒棒糖版本的应用程序,但我想找到哪个应用程序是打开的 运行应用程序的来源:如果我理解正确,您可以尝试确定当前的前台应用程序。请尝试。这将为您提供当前运行的应用程序的程序包名称: ActivityManager activityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);

我正在为所有版本开发AppLocker应用程序。它在棒棒糖前版本中工作,但在棒棒糖版本中不工作

我得到所有正在运行的棒棒糖版本的应用程序,但我想找到哪个应用程序是打开的


运行应用程序的来源:

如果我理解正确,您可以尝试确定当前的前台应用程序。请尝试。

这将为您提供当前运行的应用程序的程序包名称:

ActivityManager activityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); String packageName = ""; if(Build.VERSION.SDK_INT > 20){ packageName = mActivityManager.getRunningAppProcesses().get(0).processName; } else { packageName = mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName(); } ActivityManager ActivityManager=(ActivityManager)this.getSystemService(Context.ACTIVITY_服务); 字符串packageName=“”; 如果(Build.VERSION.SDK_INT>20){ packageName=mActivityManager.GetRunningAppProcesss().get(0).processName; }否则{ packageName=mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName(); }
Hii感谢您的回答我已经使用了此解决方案,但它在5.1 nexus emulator中工作,在某些实际设备和23版本中不工作