我目前正在使用此代码:
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
}
我能够看到当前活动是否是com.android.settings(Android设置页面)。我正在尝试将其替换为com.android.setting包中的特定类文件,例如
if(taskInfo.get(0).topActivity.getPackageName().equalsIgnoreCase("com.android.settings.LocationSettings") || taskInfo.get(0).topActivity.getPackageName().equalsIgnoreCase("com.android.settings/.LocationSettings")){
////Do Action
}
我的问题是这段代码没有检测到“LocationSettings”。
我指的是Android源代码,以及Cyanogen来源here。
答案 0 :(得分:0)
您要检查的类(com.android.settings.LocationSettings)不是Activity的子类,因此它不会显示在活动列表中。
此外,getPackageName()仅返回包。因此,您需要分别针对getClassName()检查类名。