【发布时间】:2017-08-28 20:47:38
【问题描述】:
我正在尝试让一个 url 打开应用程序并将一些带有此 url 的数据传递到应用程序中,但它不起作用。
我在 AndroidManifest.xml 中的活动标签:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize"
android:launchMode="singleTask"> <-- added this
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="fcm.ACTION.HELLO" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<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="conv"
android:host="convid"/> <-- so urls of the form 'conv://convid/ will open the app
</intent-filter>
</activity>
并且我在app的入口类中添加了:
componentDidMount() {
Linking.addEventListener('url', (e) => {
console.log("url", e);
});
Linking.getInitialURL().then((url) => {
if (url) {
console.log('Initial url is: ' + url);
}
})
}
但是当我打开浏览器并转到conv://convid 时,没有任何记录,应用程序也无法打开。
当然,我在浏览器之前打开了我的应用程序。
【问题讨论】:
-
你查看了linking 上的 React Native 文档吗?
-
@alexdriedger 是的,我编辑了我的问题。
标签: android react-native deep-linking