Android 如何在检查运行活动时检查特定类

Android 如何在检查运行活动时检查特定类,android,android-activity,Android,Android Activity,我目前正在使用以下代码: ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); if(taskInfo.get(0).topActivity.getPackageName().equalsIgnoreCase("com.andro

我目前正在使用以下代码:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);

if(taskInfo.get(0).topActivity.getPackageName().equalsIgnoreCase("com.android.settings")){
    ////Do Action       
}
我的问题是该代码没有检测到“LocationSettings”


我指的是Android源代码和氰源代码。

您正在检查的类(com.Android.settings.LocationSettings)不是活动的子类,因此它不会显示在活动列表中

此外,getPackageName()只返回包。因此,您需要分别对照getClassName()检查类名

 if(taskInfo.get(0).topActivity.getPackageName().equalsIgnoreCase("com.android.settings.LocationSettings") || taskInfo.get(0).topActivity.getPackageName().equalsIgnoreCase("com.android.settings/.LocationSettings")){
         ////Do Action

     }