私はちょうど私のアプリへのディープリンクを実装しました。インテントフィルタを主なアクティビティに追加しました。ユーザーが私のURLスキームを開始するとき、私はそれを解析し、パラメータに応じて適切な情報を表示するためにアクティビティを処理します。私のアプリが最初から起動されたときにうまく動作します。URLスキームで他のアプリからバックグラウンドアプリを開くと主なアクティビティを開始
<activity
android:launchMode="singleTask"
android:name="com.my.app.ui.activities.MainActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|screenSize|">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="myapp-scheme"/>
</intent-filter>
</activity>
この問題は、スタック上に他のアクティビティをいくつか開いて背景に移動するときに発生します。今、このアプリが私のスキームurlを呼び出すことによってバックグラウンドから再開された場合、すべてのアクティビティはまだスタック上にあり、メインアクティビティは表示されません。 どうすれば解決できますか? 私は主な活動に戻ることを考えますが、他のアプリや通常の方法でアプリを起動した場合は情報がありません。
ありがとうございました!それが私が探していたものです。 :) – objc3p0
これはどのように正しい答えですか?あなたが質問に投稿されているmanfestを見ると、OPは既に 'launchMode =" singleTask "'を指定しています! –
また、既存のタスクがすでに 'MainActivity'の上に別の' Activity'を持っている場合、 'MainActivity.onNewIntent()'は呼び出されないので、これは正しくありません。 –