我有一个带有Webview的React Native移动应用。在网络视图中,我添加了facebook Messenger聊天插件,以便我的用户在需要帮助时可以轻松地与我们联系。
如果您通过移动浏览器运行该网站,则该网站有效。它将您重定向到正式的Messenger。
但是当您通过响应本机Webview运行它时,它会说未找到任何处理Intent的活动
这是我如何处理意图公开的代码
onShouldStartLoadWithRequest={(request) => {
let url = request.url
if(url.startsWith('intent:')){
Linking.openURL(url).catch(er => {
console.log(er)
alert("Failed to open URL")
});
return false
}else{
return true
}
}}
这将控制台日志
[错误:无法打开URL 'intent:// user / 107571147455693 /?intent_trigger = mme&nav = discover&source = customer_chat_plugin&source_id = 1507329&metadata =%7B%22referer_uri%22%3A%22https%3A%5C%2F%5C%2Ffusiontechph.com%5C%2FF9fe #Intent; scheme = fb-messenger; package = com.facebook.orca; end': 找不到用于处理Intent的活动{act = android.intent.action.VIEW dat = intent:// user / 107571147455693 /?intent_trigger = mme&nav = discover&source = customer_chat_plugin&source_id = 1507329&metadata = {“ referer_uri”:“ https://fusiontechph.com/f9fe1863270a2”} flg = 0x10000000}]
答案 0 :(得分:0)
我有一个对我有用的解决方法。 Facebook Messenger提供了指向您的Facebook页面消息的链接。因此,您可以直接打开该链接而无需使用facebook的意图方案,这是最终代码
onShouldStartLoadWithRequest={(request) => {
let url = request.url
if(url.startsWith('intent:')){
Linking.openURL('https://m.me/mluc.jsites').catch(e=>{
console.log(e) })
return false
}else{
return true
}
}}