2014-01-30 1 views
0

MAIN 활동에서 CURRENT (열린 상태, 화면 상단, 스택 맨 위에) 활동을 호출하는 방법을 알고 싶습니다.현재 활동의 호출 메소드

예를 들어 주된 활동은 ActivityA이고, 다른 활동 (나는 ActivityB 또는 ActivityC 또는 다른 것)을 엽니 다. ActivityA은 핸들러 (또는 타이머)이며, 어떤 일이 발생했을 때 methodInActiveMethod()에 전화하기를 원합니다.

나는 예를 들어 발견

class MainActivity extends Activity 
{ 
    public void myMethod() 
    { 
     MyActivity.runMyMethod(); 
    } 
} 


class MyActivity extends Activity 
{ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
    } 

    public static void runMyMethod() 
    { 
     //Run code... 
    } 
} 

그리고 제대로 작동하지만 내가 anyActivityOnTop.runMyMethod() 같은 방법을 보내는 방법을 궁금해?

(PS : 나는 코드 답변에 감사 것)

+0

을 필요로 할 때 전화를 시도 할 수 있습니다 현재 활동의 컨텍스트, 당신은 할 수 있습니다 - 다소 shadily - 당신이하고있는 일을하십시오. 하지만 자신의 컨텍스트에서 메소드를 실행하려면 'Intent'를 사용하여 해당 활동으로 전환하고 Intent의 매개 변수에 따라 해당 코드 경로를 활성화하는 로직을 추가해야합니다. –

+0

'specificActiviti.method() 대신'anyActivityOnTop.method()'와 같은 "UNIVERSAL"호출을 사용하고 싶습니다. 이걸 어떻게 할 수 있을까요? – droid

+0

비협조적 인 방법으로 최상위 활동을 결정하는 방법은 신뢰할 수 없다고 생각됩니다. 그러나 당신이 당신의 활동 중 하나의 방법을 호출한다면, 당신은 각 가능한 활동의 ​​onResume() 메소드가 공유 된 것을 업데이트하여 이것이 현재 최고 활동임을 나타낼 수 있습니다. –

답변

0

당신은 리스너를 구현하고 당신이 작동 할 수있는 방법의 코드를 "빌려"을 의미하는 경우

+0

나는 그것을 구현하는 방법을 궁금하다 - 나는 첫 번째 활동에서 다른 활동으로 메시지를 보내야한다. 아니면 의도로? (나는 주 활동에서 또 다른 열린 활동으로 "데이터"를 보내야한다) – droid

관련 문제