FLAG_ACTIVITY_REORDER_TO_FRONT BACKGROUND
아 .. 잡 배가 .... 진짜 .. 별꼴이네
상황은 FLAG_ACTIVITY_REORDER_TO_FRONT 이거 쓰다 보면 배가에서
어처구니 없이 앱이 백그라운드로(BACKGROUND) 빠져 버릴때가 있다
ABCB ---> 여기서 B가 FLAG_ACTIVITY_REORDER_TO_FRONT 옵션이면
취소키 누르다 보면 앱이 백그라운드로 가는 상황이 생기는데
이럴때 처리 방법 .. 참네 ... 우끼네
찾은 곳
https://code.google.com/p/android/issues/detail?id=63570#c2
안드로이드 참 ... 할때 마다 실망이야 짜식아
소스코드
boolean mIsRestoredToTop = false;
@Override
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
Utils.Print("BaseActivity onNewIntent " + strPackageName);
mIsRestoredToTop = false;
if ((intent.getFlags() | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) > 0) {
mIsRestoredToTop = true;
}
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
public void finish_FLAG_ACTIVITY_REORDER_TO_FRONT() {
Utils.Print("mIsRestoredToTop " + mIsRestoredToTop);
if (android.os.Build.VERSION.SDK_INT >= 19 && !isTaskRoot() && mIsRestoredToTop) {
// 4.4.2 platform issues for FLAG_ACTIVITY_REORDER_TO_FRONT,
// reordered activity back press will go to home unexpectly,
// Workaround: move reordered activity current task to front when
// it's finished.
// 이게 보니깐 액션 유저가 아닌게 백그라운드로 가면 포그라운드로 올려라 라는 명령어네요
ActivityManager tasksManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
tasksManager.moveTaskToFront(getTaskId(), ActivityManager.MOVE_TASK_NO_USER_ACTION);
}
}
'안드로이드' 카테고리의 다른 글
sqlcipher (0) | 2015.09.23 |
---|---|
안드로이드 앱 업데이트 할 때 바로가기 아이콘 지워지는 경우[homescreen icon disappear on application update] (0) | 2015.04.10 |
웹뷰 껌뻑임 현상 (0) | 2015.03.30 |
옥션 - 내용 스크롤 할때 탭도 같이 스크롤 (0) | 2014.12.22 |
genymotion eclipse device chooser not found (0) | 2014.12.04 |