2012-11-06 7 views
0

내 앱에 문제가 있습니다. 나는 앱의 모든 액티비티에 포함되어야하는 일종의 즉흥적 인 메뉴 표시 줄을 만들고 있는데, 어떤 액티비티가 현재로드되어 있는지를 판단하여 애플리케이션이 버튼을 통해 링크 된 액티비티로 연결되도록하려고한다.현재 활동 확인 Android

public void graphAction() 
{ 
    Intent i = new Intent(this, GraphActivity.class); 
    this.startActivity(i); 
} 

답변

0

당신은 ActionBarSherlock의 사용을 고려 할 수 있습니다 (http://actionbarsherlock.com/) 하지만 현재 활성화 된 활동을 원하는 이유를 이해하지? graphAction이 액티비티에 있지만 일부 맞춤 객체가 아니라면 액티비티를 전달하십시오 (또는 컨텍스트 개체를 사용하면 액티비티가 전달되지 않아야 함)

+0

가 나는 ActionBarSherlock의 작업이 현재 활동 – Luc

+0

을 참조하도록 요청 (버튼을 클릭하면 앱이 다음 활동에 갈 수 있도록하기 위해) 때문에 의도의 생성에 현재 활동을 당함 싶다! 감사! – Luc

2

아래의 기능을 시도하여 가장 많이 사용되는 활동 이름을 가져 오십시오.

private String getTopActivityName() { 
     ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(
       ACTIVITY_SERVICE); 
     // get the info from the currently running task 
     List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 
     ComponentName componentInfo = taskInfo.get(0).topActivity; 
     return componentInfo.getShortClassName(); 
    } 
+0

이것은 액티비티 이름과 함께 문자열을 리턴합니다.이 이름을 인 텐트 작성에 사용할 수있는 활동 변수로 변환하려면 어떻게해야합니까? – Luc

+1

시도해보십시오. 귀하의 경우 의도가 있어야합니다. final Intent intent = getIntent(); startActivity (의도); 부모 활동이 A 인 경우 의도를 임시 변수에 A에 저장하고 A의 OnResume 호출에 저장하면 동일한 저장된 의도를 호출합니다. 또는 conponentInfo.packagename & classname을 사용할 수 있습니다. –