从后台不同应用程序的服务获取当前应用程序的名称?

时间:2015-11-19 13:04:34

标签: android

我需要在后台找到另一个应用程序的广播Receiver类在前台运行的应用程序包名称。因此,当一个新的应用程序出现在前台时,我需要从广播接收器获取包名称,这是一组不同的应用程序。

2 个答案:

答案 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();