本文主要是介绍Android获取前台进程包名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Android L之前的版本,获取前台进程基本上是用下面两种方法:(现在都已失效)
方法一:getRunningTasks()
这种方法不仅可以获取前台进程包名,还可以获取前台activity名。
public String getForegroundActivity() {ActivityManager mActivityManager =(ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);if (mActivityManager.getRunningTasks(1) == null) {Log.e(TAG, "running task is null, ams is abnormal!!!");return null;}ActivityManager.RunningTaskInfo mRunningTask =mActivityManager.getRunningTasks(1).get(0);if (mRunningTask == null) {Log.e(TAG, "failed to get RunningTaskInfo");return null;}String pkgName = mRunningTask.topActivity.getPackageName();//String activityName = mRunningTask.topActivity.getClassName();return pkgName;
}
方法二:getRunningAppProcesses()
这种方法只能获取前台包名。
public String getForegroundApp(Context context) {ActivityManager am =(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<RunningAppProcesInfo> lr = am.getRunningAppProcesses();if (lr == null) {return null;}for (RunningAppProces
这篇关于Android获取前台进程包名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!