Android ссылки на приложения, запускающие мое приложение в вызывающем приложении - PullRequest
0 голосов
/ 22 марта 2020

Я только что установил ссылки на приложения в своем приложении Android, следуя официальным руководствам Android в Интернете. Я могу нажать на ссылку, и мое приложение запускается очень хорошо.

Однако я наблюдаю различное поведение в зависимости от того, откуда была нажата ссылка.

  • Из приложения Gmail мое приложение запускается и все работает хорошо. Нажав на ||| значок внизу экрана показывает, что мое приложение работает автономно.
  • Из Slack мое приложение запускается и работает нормально, , но, похоже, является частью процесса Slack . Кнопка назад не работает, и если я нажму на ||| Значок в нижней части экрана показывает, что мое приложение работает в Slack (открыто только одно окно).
  • В WhatsApp происходит то же самое, что и в Slack.

Это из моего AndroidManifest. xml:

            <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:scheme="https"
                    android:host="mydomain.com"
                    android:path="/" />
            </intent-filter>

Я подозреваю, что это как-то связано с открытием веб-ссылок Slack, но я не знаю, как это предотвратить. Это также не объясняет поведение WhatsApp, так как WhatsApp, по-видимому, уже самостоятельно открывает веб-ссылки в Chrome.

Буду признателен за любой совет!

1 Ответ

1 голос
/ 22 марта 2020

Это действительно значение по умолчанию в Android - ваше приложение запускается как часть стека вызывающего. Вам нужно установить режим запуска на SingleTask в манифесте. Обратите внимание, что это может иногда вызывать onNewIntent, а не стандартный путь создания действия, если действие уже работает в фоновом режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...