如何从浏览器打开我的React Native应用程序?

时间:2018-09-20 09:18:17

标签: android react-native deep-linking applinks

我想从浏览器中打开我的应用程序。

示例:我打开浏览器,输入:https://open.my.appapp://www.example.com,然后选择我的应用。

我阅读了有关Deep Links的文章,并且我很确定我已经正确设置了项目,但是当我尝试输入并运行以下命令时,仍然没有任何反应:https://open.my.app, app://www.example.com

我的AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.somemobileapp">

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

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:launchMode="singleTask"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Change these two in the future to a proper one -->
            <data android:scheme="https" android:host="www.example.com" />
            <data android:scheme="app" android:host="open.my.app" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    </application>

</manifest>

因此,即使在此之后,它也无法正常工作。

1 个答案:

答案 0 :(得分:0)

我知道这听起来很奇怪,但首先保持数据标签对我有用

<intent-filter>
<!-- data on first -->
     <data android:scheme="http" android:host="abc.in"/>
        <action android:name="android.intent.action.MAIN" />
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="android.intent.category.BROWSABLE"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>