나는 예를 들어, 여러 가지 활동과 응용 프로그램을 가지고 : -> 활동 2 -> 활동 3 -내 응용 프로그램의 모든 활동을 닫는 방법?
활동 1> 활동 4
그리고 모든 활동을 종료하고 싶습니다 모든 활동 및 집 전화로 돌아갑니다.
나는 예를 들어, 여러 가지 활동과 응용 프로그램을 가지고 : -> 활동 2 -> 활동 3 -내 응용 프로그램의 모든 활동을 닫는 방법?
활동 1> 활동 4
그리고 모든 활동을 종료하고 싶습니다 모든 활동 및 집 전화로 돌아갑니다.
당신은 BroadcastReceivers
를 사용하여 해당를 얻을 수 있습니다
BaseActivity
만들기 : 당신의 활동이 있음을 확장합니다public class BaseActivity extends Activity {
private KillReceiver mKillReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mKillReceiver = new KillReceiver();
registerReceiver(mKillReceiver,
IntentFilter.create("kill", "spartan!!!"));
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(mKillReceiver);
}
private final class KillReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
}
}
BaseActivity
. Intent intent = new Intent("kill");
intent.setType("spartan!!!");
sendBroadcast(intent);
'의도 (Intent)'또는 '의도 필터 (IntentFilter)'에 대해 넌센스/불법 MIME 유형을 사용하지 말 것을 권유하십시오. 액션 문자열은 충분히 고유하게 만들 수 있습니다. 고유 한 액션 문자열이 불충분하다는 점을 염려 할 경우 최신 버전의 Android에서'setPackage()'를 사용할 수 있습니다. – CommonsWare
당신이 맞습니다, 조언 주셔서 감사합니다 :) – Cristian
액션은 죽일 수 있지만 콘텐츠를 사용하는 경우 예제가 더 좋을 수 있습니다 : // 충돌로 인한 스파르타 :-) – neteinstein
그리고이 모든 활동
That is user-hostile in Android에서 모든 활동을 종료하고 싶습니다. 하지 마세요.
와 나는 이것이 무엇을 의미하는지 전혀 모르는 집 전화
에서 이동합니다.
사용자가 홈을 누르면 사용자가 응용 프로그램으로 돌아갈 때 활동이 약간의 RAM에 남아 있어야합니다.
귀하의 활동 중 하나가 응용 프로그램의 "집"임을 의미하고 사용자가 일부 단추 또는 옵션 메뉴 항목을 누를 때 해당 활동으로 돌아가려면 startActivity()를 호출하십시오. 텐트 것을 :
FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP
을 가지고 식별FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP (제 경우에는 작동하지 않습니다)로 [** delegate **] (http://en.wikipedia.org/wiki/Delegation_pattern)하는 것입니다. . 도와주세요. –
@ BorntoWin : 오른쪽 상단 모서리에있는 "질문하기"버튼을 클릭하고 질문에 * 정확하게 설명하십시오. "내 경우에 효과가 없다"는 것은 "작동하지 않습니다"와 "내 경우에" 부분품. – CommonsWare
AndroidManifest를 엽니 다.XML과 다음과 같은 속성을 예를 들어
android:launchMode="singleTask"
을로 돌아가서 추가하고 싶은 활동을 찾을 수는 HomeActivity 클래스는 어떤 시점에서 안드로이드 매니페스트
<activity android:name=".HomeActivity"
android:launchMode="singleTask"/>
이있을 수 있습니다, 당신은 모든 닫을 수 있습니다 예를
startActivity(new Intent(this, HomeActivity.class));
일반적 의도에 엑스트라를 전달하는 경우에 대한 startActivity를에게 표준적인 방법을 사용하여이 하나의 상단에 활동으로이 작업을 수행 할 필요가 없습니다 그것은 이전의 어떤 상태로 돌아올 것이고, 뒤로 버튼을 치는 것과 같은 애니메이션을 동반 할 것입니다.
다음 플래그를 사용하여 이전의 모든 활동을 취소 할 수 있습니다
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
를 내가 당신을 도움이되기를 바랍니다!
여기 내 대답을 확인하십시오. http://stackoverflow.com/questions/9426346/how-to-kill-all-activ-in-android-application/14393598#14393598 –
나는이 솔루션이 "KillReceiver"솔루션. – TommyTh
[1] 내가 그것을 도움이 될 수 있도록 노력하겠습니다 [여기] 내 대답을 확인 [1] : http://stackoverflow.com/questions/14001963/finish-all-activities-at-a-time/ 24833606 # 24833606 –