누군가가 해결책이 아니라면 적어도 행동에 대한 설명을 알아낼 수 있기를 바랍니다.
문제 :
일부 장치에서는 실행기 아이콘을 누르면 현재 작업이 다시 시작되고 다른 장치에서는 초기 실행 의도가 발생합니다 (효과적으로 앱을 다시 시작). 왜 이런 일이 발생합니까?
세부 사항 :
"런처 아이콘"을 누르면 앱이 정상적으로 시작됩니다. 즉, 첫 번째 이름 Activity
과 동작 android.intent.action.MAIN
및 카테고리로 인 텐트가 시작된다고 가정 합니다 android.intent.category.LAUNCHER
. 그러나 항상 그런 것은 아닙니다.
앱 후 실행 아이콘이 이미 실행중인 누르면 기기의 대부분에서, 그 과정에서 현재 실행중인 활동 (재개 NOT 초기 Activity
). OS 메뉴의 "최근 작업"에서 선택한 것과 같은 방식으로 재개됩니다. 이것은 모든 장치에서 원하는 동작 입니다.
그러나 선택한 다른 장치에서는 다른 동작이 발생합니다.
Motorola Xoom에서 실행기 아이콘을 누르면 현재 실행중인 항목에 관계없이 앱이 항상 초기 시작을 시작합니다
Activity
. 런처 아이콘은 항상 "LAUNCHER"의도를 시작한다고 가정합니다.Samsung Tab 2에서 런처 아이콘을 누르면 앱을 방금 설치 한 경우 항상 초기
Activity
(Xoom과 동일)가 시작되지만 설치 후 장치를 다시 시작하면 런처 아이콘이 대신 표시됩니다 앱을 다시 시작하십시오. 이 장치가 "설치된 앱"을 장치 시작시 조회 테이블에 추가하여 실행기 아이콘이 작업 실행을 올바르게 재개 할 수 있다고 가정합니까?
내 문제와 비슷한 소리로 많은 답변을 읽었 지만 단순히 추가 android:alwaysRetainTaskState="true"
하거나 사용 launchMode="singleTop"
하는 Activity
것이 답이 아닙니다.
편집하다:
이 앱이 가장 최근에 출시 된 후 처음 다시 시작한 후 모든 기기 에서이 동작이 발생하기 시작했습니다 . 나에게 미친 것처럼 보이지만 다시 시작 프로세스를 살펴보면 실제로 무엇이 잘못되었는지 찾을 수 없습니다.
finish()
시작하는 Activity
대신 다시 처음 시작하는 인스턴스에서 호출 하는 것 같습니다 .