USB Connector를 이용한 어플 개발 중 USB를 꽂을때마다 해당 앱이 자동실행+중복실행되었다.
singleinstance singletask singletop 전부 무용지물.
별별 방법을 다 쓰다가 소스상으로 원천봉쇄하는데 성공
private static boolean isAppRunning = false;
private boolean isDuple = false;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Log.i(TAG,"onCreate");
setContentView(R.layout.splash);
if(isAppRunning)
{
isDuple = true;
finish();
}
else
{
isAppRunning = true;
//이후 정상적으로 실행할 부분
//
//
}
}
@Override
public void onDestroy()
{
super.onDestroy();
Log.i(TAG,"onDestroy");
if(isDuple)
{
}
else
{
isAppRunning = false;
}
}
마지막은 !isDuple로 바로 끝나도 될 것.
static변수는 어플이 중복실행되어도 변하지 않는다는 점을 이용했다.
이제 고민은 어플이 실행 중 사망하셨을 때 이 루틴이 어떻게 처리될 것인가 하는 것.
'안드로이드' 카테고리의 다른 글
숏컷(바로가기) 생성하기 (0) | 2014.12.22 |
---|---|
파일 탐색기 (0) | 2014.10.02 |
안드로이드 네이버 지도 API 분석중 (0) | 2013.08.05 |
WheelView(WheelPicker) Click Event (0) | 2013.07.01 |
앱에서 카카오톡으로 메세지,그림 보내기 (0) | 2013.06.28 |