如何打开 URL 方案 intent:// on react native
How to open URL with scheme intent:// on react native
我有一个带有 webview 的 React 本机移动应用程序。在 webview 中,我添加了 facebook messenger 聊天插件,这样我的用户可以在需要帮助时轻松联系我们。
如果您 运行 通过移动浏览器访问该网站,它就可以正常工作。它会将您重定向到官方信使。
但是当你 运行 它以某种方式反应本机 webview 时它说没有 activity 发现处理 Intent
这是我如何处理打开 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
}
}}
这将控制台日志
[Error: Could not open 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%2Ff9fe1863270a2%22%7D#Intent;scheme=fb-messenger;package=com.facebook.orca;end':
No Activity found to handle 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 }]
我有一个适合我的解决方法。 Facebook Messenger 向您的 Facebook 页面消息提供 link。所以你可以直接打开link而不使用facebook的intent scheme这里是最终代码
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
}
}}
我有一个带有 webview 的 React 本机移动应用程序。在 webview 中,我添加了 facebook messenger 聊天插件,这样我的用户可以在需要帮助时轻松联系我们。
如果您 运行 通过移动浏览器访问该网站,它就可以正常工作。它会将您重定向到官方信使。
但是当你 运行 它以某种方式反应本机 webview 时它说没有 activity 发现处理 Intent
这是我如何处理打开 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
}
}}
这将控制台日志
[Error: Could not open 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%2Ff9fe1863270a2%22%7D#Intent;scheme=fb-messenger;package=com.facebook.orca;end': No Activity found to handle 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 }]
我有一个适合我的解决方法。 Facebook Messenger 向您的 Facebook 页面消息提供 link。所以你可以直接打开link而不使用facebook的intent scheme这里是最终代码
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
}
}}