Прослушивание входящих ссылок на Android с React-Native

Я могу прослушивать и обрабатывать входящие ссылки на IOS с помощьюact-native с помощью библиотеки ссылок:https://facebook.github.io/react-native/docs/linking.html, но он показывает, что функция добавления прослушивателя событий для URL зависит от платформы IOS. Есть ли другие способы прослушивания входящих ссылок на мое приложение на Android и обработки его на стороне Javascript?

 Ihor Burlachenko06 мар. 2017 г., 14:49

Ответы на вопрос(1)

Решение Вопроса

эти инструкции.

В основном, добавьте<intent-filter> под существующим одним из вашихandroid/app/src/main/AndroidManifest.xml, содержащийVIEW действие,DEFAULT а такжеBROWSABLE категории, и, по крайней мере,<data>.

Затем просто пересоберите и переустановите ваш APK (react-native run-android), вот и все! Ссылки, соответствующие вашим<data> теги теперь будут открываться в вашем приложении!

Теперь просто поймать этот URL сLinking.getInitialURL () вcomponentDidMount() вашего основного класса Javascript!

Пример манифеста:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="net.yourapp"
  android:versionCode="1"
  android:versionName="0.1">

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

  <uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="22" />

  <application
    android:name=".MainApplication"
    android:allowBackup="true"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:icon="@mipmap/ic_launcher"
    android:theme="@style/AppTheme">

    <activity
      android:name=".MainActivity"
      android:label="@string/app_name"
      android:screenOrientation="portrait"
      android:configChanges="keyboard|keyboardHidden|screenSize">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>

      <!-- HERE: -->
      <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="https"
          android:host="yoursite.net" />
        <data android:scheme="https"
          android:host="yoursite.net" />
        <data android:scheme="https"
          android:host="yoursite" />
        <data android:scheme="customscheme"
          android:host="yourpath" />
      </intent-filter>

    </activity>
    <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
  </application>

</manifest>

Ваш ответ на вопрос