두 가지 액티비티로 된 간단한 앱이 있습니다. 여기 매니페스트입니다 : u는 볼 수, 링크 "https://stackoverflow.com/questions/ask"를 클릭 할 때액티비티 배킹의 설명 할 수없는 동작
<application>
<activity
android:name=".ActivityA"
android:theme="@style/AppTheme.NoActionBar.Map">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".ActivityB"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="https://stackoverflow.com/"
android:scheme="http"
android:pathPrefix="https://stackoverflow.com/questions/ask"
/>
</intent-filter>
</activity>
</>
- 내 응용 프로그램이 두 번째 활동을 엽니 다. 는 ActivityB에서 나는 방법 onBackPressed 오버라이드 (override) :
override fun onBackPressed() {
if(isTaskRoot){
startActivity(Intent(this, MapActivity::class.java))
finish()
} else {
super.onBackPressed()
}
}
그래서 두 번째 활동이 링크에서 시작하고 난 다시 BTN, ActivityA가 열리고 ActivityB 완료를 클릭합니다.
첫 번째 모습 모두 괜찮아 보이지만,이 다음에 내가 집에 btn을 누른 다음 스택에서 앱을 다시 실행하면 ActivityB가 ActivityA 대신 다시 열립니다.
왜 이런 일이 발생하고 어떻게 해결할 수 있는지 설명해주십시오. 감사!
UPDATE 는 ActivityB에서 onBackPressed 후, ActivityA를 개방하고 내가 대신 HomeBtn을 onBackBtn 클릭 때문에 응용 프로그램이 닫힙니다. 이 경우 스택에서 다시 실행 한 후 ActivityB가 열립니다.
나는 ActivityB에서 onBackPressed –
작은 업데이트를 사용하여 보았습니다. –
다른 방법으로 finish 메서드를 호출하려고 시도합니다. else {finish()} –