我需要在后台找到另一个应用程序的广播Receiver类在前台运行的应用程序包名称。因此,当一个新的应用程序出现在前台时,我需要从广播接收器获取包名称,这是一组不同的应用程序。
答案 0 :(得分:0)
这可能会对您有所帮助:
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < recentTasks.size(); i++)
{
Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");
}
答案 1 :(得分:0)
你需要在后台应用程序中实现一项服务,这项服务将运行一个无休止的线程,它会检查当前应用程序的每一秒,之前棒棒糖你将使用这个代码,
mActivityManager.getRunningTasks(1)获得(0).topActivity.getPackageName();