Android DeepLink, открыть внешнюю силу - PullRequest
0 голосов
/ 09 января 2019

Я занимаюсь разработкой приложения для Android, которое принимает Deeplink. Например, рассмотрим это:

        <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="returnapp" android:scheme="testscheme" />
        </intent-filter>

Так что, если мы вызываем URL testscheme://returnapp/?status=1, приложение должно быть открыто.

В Google Chrome он открывается и все идет как надо, но в Firefox приложение открывается как дочерний элемент задачи браузера (который имеет ссылку на мое приложение). Но я хочу, чтобы он открывался независимо.

Итак, есть ли что-то, что нужно добавить в манифест, чтобы форсировать этот атрибут, или я должен добавить какое-то ключевое слово в моей HTML-ссылке?

UPDATE

Я думаю, что я должен внести изменения в ссылку, отображаемую на веб-странице в Firefox. В настоящее время я использую эту ссылку:

<h1><a href="testscheme://returnapp/?status=1">test</a></h1>

Что-то вроде target="_system", чтобы сказать Firefox об открытии этой ссылки извне.

1 Ответ

0 голосов
/ 09 января 2019

Браузеры должны сами поддерживать и улучшать возможности просмотра. Браузеры должны находить другие действия, поддерживающие android.intent.category.BROWSABLE при открытии веб-страницы.

Итак, как вы говорите, Firefox не поддерживается для непосредственного открытия приложения, однако есть решение, которое вы можете попробовать, это добавить android: autoVerify = "true" в любой из фильтров веб-URL. в манифесте приложения, который включает в себя действие намерения android.intent.action.VIEW и категорию намерений android.intent.category.BROWSABLE, как показано в следующем фрагменте кода манифеста:


    <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="returnapp" android:scheme="testscheme" />
         </intent-filter>

Хотя я все еще не уверен, что это сработает, потому что android:autoVerify="true" для appLink, а не для deepLink

...