어플 중복 구동 차단하기 (Intent Flag)

프로그래밍/Android (Java)|2015. 1. 27. 11:01
반응형

방법1.

AndroidManifest.xml 파일의 Activity 부분에 옵션을 주어 설정할 수 있습니다.


<activity

    android:name=".SysdocuActivity"

    android:configChanges="orientation|keyboardHidden"

    android:noHistory="true"

    android:label="@string/app_name">

</activity>


* 설명

어플 (해당 Activity) 를 일부러 종료하지 않더라도 스마트폰의 Home버튼을 눌러 화면에서 벗어나면

finish() 메소드가 자동 호출되 스택에서 제거됩니다.


* 주의

설정 SettingActivity 등 다른 화면 이동한 후, back 버튼으로 SysdocuActivity 로 다시 돌아올 경우,

SysdocuActivity 는 이미 종료되어진 상태이므로 어플이 종료됩니다.

이를 감안하여 코딩해야합니다.



방법2.

이전 Activity 파일에서 다음 Activity 를 불러오는 부분에서 설정할 수 있습니다.


예) RegisterActivity.java  ->  SysdocuActivity.java  넘어갈때  SysdocuActivity.java 가 중복되지 않도록 설정


RegisterActivity.java 파일에서..

Intent in=new Intent(RegisterActivity.this, SysdocuActivity.class);

in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(in);

finish();


반응형

댓글()