2014-12-15 7 views
0

다음은 뒤로 버튼 코드입니다. 뒤로 버튼으로 다른 활동을 죽이고 싶지만 한 활동에서 작동하지 않지만 다른 활동이 있고 한 활동이없이 잘 작동합니다. 제발 도와주세요.android에서의 살인 활동

public void onClick(View v) { 

    Intent intent = new Intent(getApplicationContext(), 
        SomeActivity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 

} 
+1

작동하지 정의 할 수 있습니다 : 이전의 모든 활동을 취소 완 때

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); clearActivityStack = new KillReceiver(); registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain")); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(clearActivityStack); } 

이제 방송 수신기를 호출? 정확히하고 싶은게 뭐야? 앱에서 다른 모든 활동을 종료 하시겠습니까? –

+0

back press에서 실행중인 활동을 종료하려면 finish()를 호출하십시오. 그게 전부예요 –

+0

예 내 응용 프로그램에서 다른 모든 활동을 죽이고 싶습니다. MagicalPhoenix. – Jewel

답변

2

이 코드가 도움이 될 수 있습니다 :

Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
if(Build.VERSION.SDK_INT >= 11) 
{ 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_CLEAR_TASK); 
} 
else 
{ 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP); 
} 
startActivity(intent); 

그것이

+0

MagicalPhoenix, 여기 활동은 무엇입니까? 나는 안드로이드에서 새로운 사람이다. 제발 정의 할 수 있니? – Jewel

0

AndroidManifest.xml의 활동 태그에 sta에 저장하고 싶지 않습니다. ck.

+0

감사합니다. 그것은 잘 작동합니다. – Jewel

0

당신은 설정할 수 있습니다 ツ 도움이되기를 바랍니다 : 당신은 API 레벨에 따라 플래그를 설정해야

public void onClick(View v) { 
    Intent i = new Intent(getApplicationContext(), SomeActivity.class); 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(i); 
    finish(); 
} 
0

시도 최상위 부모 활성 또는 염기 활동 하나 개의 로컬 방송 수신기 정의 :

private final class KillReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    finish(); 
    } 
} 

초기화하기와에서 onCreate (방송 수신기 등록) 및 최상위 부모 활성 또는 염기 활동()들의 OnDestroy에서 등록 취소 :

개인 KillReceiver clearActivityStack; 당신이

public void onClick(View v) { 
    Intent clearIntent = new Intent("clearStackActivity"); 
    clearIntent.setType("text/plain"); 
    sendBroadcast(clearIntent); 
    Intent intent = new Intent(getApplicationContext(),SomeActivity.class); 
    startActivity(intent); 
}