2011-11-08 2 views
0

내 신청서에는 2 가지 활동 (A 및 B)과 1 가지 서비스가 있습니다.완료 방법() 다른 활동 (열려있는 경우)

각 활동은 다른 마무리 자체를 호출 할 수 있습니다.

Intent i = new Intent(this, ActivityB.class); 
finish(); 
startActivity(i); 

응용 프로그램

상태는 또한 내가 활동과 서비스를 죽일 종료 버튼이 의도 공개 활동에게 사용 플래그

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

바 클릭하면, 상태 표시 줄의 아이콘을 만들 수 있습니다.

사용자가 활동 A를 볼 수 있기 때문에 활동 B가 열려 있고 상태 표시 줄 아이콘이 클릭되면 종료 버튼을 클릭하면 응용 프로그램이 활동 A를 종료하고 서비스하지만 지하 활동 B가 표시됩니다. 문제 폐쇄를 해결 또한 활동 B

편집 :

내가 시작 응용 프로그램에서 false로 설정 된 SharedPreferences 값으로 해결

종료 버튼 클릭시 true로. onResume()에서 값을 확인하고 참이면 작업을 완료합니다.

답변

0

당신이 할 수있는 다음

Intent i = new Intent(); 
i.setAction("com.help.KILLME"); 
context.sendBroadcast(i); 

에 상태 표시 줄에서 의도를 변경 한 다음 상태 표시에서 닫으려는 활동에 넣고하는 것은 :

private final BroadcastReceiver receiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     finish(); 
    } 
}; 


//OnCreate method 
//[...] 
IntentFilter filter = new IntentFilter(); 
    filter.addAction("com.help.KILLME"); 
    registerReceiver(receiver, filter); 

이는 중지 것 활성 활동 (수신기를 등록 해제하여 onPause()에 등록하고 onResume()에 다시 등록하십시오)

관련 문제