как перемещаться в приложении Android, когда я нажимаю на ссылку из электронной почты - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу открыть приложение Android (Nativescript) по ссылке в электронном письме, то есть нажмите здесь, чтобы сбросить пароль

http://XX.XXX.XX.XX:XXXX/reset/1234567891011121314

.so, когдаЯ нажимаю на ссылку в своем мобильном браузере. Мне нужно приложение Запущено.

Есть ли какое-либо решение для этого?

Код обновления:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <action android:name="android.intent.action.VIEW" />
    </intent-filter>
    <intent-filter android:autoVarify="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="http" android:host="xx.xxx.xx.xx" android:port="xxxx" android:path="reset">
        </data>
    </intent-filter>

Я изменяю ссылку на

http://mydomain.tk/v1/reset/1234567891011121314

<data android:scheme="http" android:host="mydomain.tk" android:path="/v1/reset">

больше не работает.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Android

Добавьте фильтр намерений к своей деятельности в AndroidManifest.xml

<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:scheme="myapp" /> 
</intent-filter>

Вы можете даже использовать веб-URL для глубоких ссылок

<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:scheme="http"
    android:host="XXXX"
    android:port="XXXX"
    android:path="reset"></data>
</intent-filter>

iOS

Добавить CFBundleURLTypes в Info.plist файл

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.yourcompany.myapp</string>
    </dict>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>myapp</string>
        </array>
    </dict>
</array>

Невозможно использовать веб-ссылки для глубоких ссылок в iOS.Обходной путь - проверить, является ли текущее устройство iOS и запустить приложение с вашей веб-страницы.

Если вы хотите обработать параметры, переданные в URL, тогда вы должны использовать плагин nativescript-urlhandler .

0 голосов
/ 06 декабря 2018

Я использую следующий код:

<intent-filter>
    <action android:name="android.intent.action.VIEW"></action>

    <category android:name="android.intent.category.DEFAULT"></category>
    <category android:name="android.intent.category.BROWSABLE"></category>

    <data
        android:host="www.my.app.com"
        android:path="launch"
        android:scheme="http"></data>
</intent-filter>

Со ссылкой для электронной почты, установленной как http://www.my.app.com/launch.

Ссылка: Запуск приложения Android по ссылке или по электронной почте

...