アプリケーションでBranch IOを使用しており、ドキュメントに従って、アクティビティに使用android:launchMode="singleTask"
しています。
これが私の AndroidManifest のコード スニペットです。
<activity
android:name=".SplashScreen"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data
android:host="open"
android:scheme="com.package.name" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<!-- Branch App Links (optional) -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="app.link"
android:scheme="https" />
<!-- <data android:scheme="https" android:host="example-alternate.app.link" /> -->
</intent-filter>
</activity>
アプリの使用中にホームボタンを押してアプリ/ランチャーアイコンをタップすると、スプラッシュスクリーンアクティビティのonCreateメソッドが呼び出され、アプリが最初から起動されたように見える場合を除いて、すべて正常に機能しています。ただし、アプリの使用中にホームボタンを押して、最近のアプリから開くと、onCreate が呼び出されず、すべてが完全に機能します。
最近のアプリやアプリ/ランチャー アイコンからフォアグラウンドに移動したときにアプリの動作を一貫させるにはどうすればよいですか?
アプリ/ランチャーアイコンと最近のアプリから完全に起動するsingleTask起動モードを削除しようとしましたが、ブランチIOリンクをタップすると、アプリの新しいインスタンスが作成されます。この問題を克服するために、singleTask を起動モードにするよう求めていることだけは理解できます。
ディープリンクを使用している多くのアプリでこのシナリオを確認しましたが、この問題はありません!
私は目に見えない何か間違ったことをしているに違いありません。
何かが不足しているか、実装が間違っていますか?