중복 가능 Deep linking and multiple app instances. 내 응용 프로그램에서 딥 링크를 구현했습니다. 내가 onNewIntent을 처리하기 위해 발사 모드 singleTask을 설정 한Android 딥 링크 및 singleInstance/singleTask
<application
android:name=".MyApplication"
android:allowBackup="true"
android:fullBackupContent="true"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/AppTheme">
<activity
android:name=".ActivitySplash"
android:configChanges="orientation|screenSize"
android:label="@string/app_name">
<intent-filter>
<!-- Launcher activity -->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ActivityMain"
android:alwaysRetainTaskState="true"
android:configChanges="orientation|screenSize"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize">
<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="www.mywebsite.com"
android:pathPrefix="/something"
android:scheme="http" />
</intent-filter>
</activity>
<activity
android:name=".ActivitySignIn"
android:configChanges="screenSize|orientation" />
<activity android:name=".ActivitySignUp" />
</application>
() : 나는 매니페스트에 정의 된 인 텐트를 처리 실행기와 MainActivity가 스플래쉬 활동이있다. 이제 내가 원하는 것은 사용자가 DeepLinking에서 활동을 열고 MainActivity에서 이미 진행중인 작업이있는 경우 대화 상자에서 현재 작업을 취소하고 새로운 작업 (딥 링크에서 시작)을 시작할지 묻는 것입니다. 문제는 MainActivity에서 다른 활동을 열면 사용자가 DeepLinking Intent에서 온 것입니다. 그런 다음 두 번째 활동을 중단하고 MainActivity를 직접 엽니 다. 내가 원하는 것은 app/activity가 실행 중이 아니라면 DeepLink의 Intent가 그대로 열려 있다는 것입니다. 그리고 activity/app가 이미 실행 중이면 사용자에게 현재 작업을 닫고 DeepLink 작업/의도를 수행하라는 메시지를 표시합니다.
android : launchMode = "singleTask"대신이 android : launchMode = "singleInstance"를 사용하십시오. 희망이 작동합니다. –
이전에 singleInstance를 사용하고 있었는데 그 경우 앱을 다시 시작하고 앱 아이콘을 두드려 다시 열면 마지막 상태를 표시하는 대신 Splash가 먼저 표시됩니다. 또한 모든 활성로드에서 이상한 애니메이션을 얻으려면 singleInstance를 사용하여 –
전체 매니페스트를 게시하십시오. –