활동

2013-02-11 5 views
1

을 실행 체크 나는 현재이 코드를 사용하고 때 특정 클래스를 확인하는 방법 : 현재 활동이 com.android.settings (안드로이드 설정 페이지) 인 경우활동

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.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"를 감지하지 못합니다.

나는 안드로이드 소스 코드와 시아 노겐 소스 here을 언급하고있다.

답변

0

확인할 클래스 (com.android.settings.LocationSettings)는 활동의 하위 클래스가 아니므로 활동 목록에 표시되지 않습니다.

또한 getPackageName()은 패키지를 반환합니다. 따라서 getClassName()에 대해 클래스 이름을 개별적으로 검사해야합니다.

+0

네, 그게 사실이긴하지만,이 방법을 행운과 함께 시도했습니다 ... – Nikita