首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Deep Link不会打开应用程序,而是进行谷歌搜索

Deep Link不会打开应用程序,而是进行谷歌搜索
EN

Stack Overflow用户
提问于 2020-07-03 22:56:58
回答 1查看 443关注 0票数 0

我一直在使用Expo开发一个反应原生应用程序,我目前正在尝试实现的功能是与fb messenger/whatapp等平台上的朋友共享链接,甚至是普通文本,当他们单击此链接时,它会使用参数将我的应用程序启动到特定页面。

经过广泛的网上研究,我找到了一个拦截器,根据expo的文档,我为我的应用定义了一个方案,当我按下分享一切正常工作时,就会创建一条消息,我可以分享内容,但只能是字符串。

我正在使用react-natives共享库来分享到一个应用程序,我正在使用Expo为我提供链接。

理想情况下,我的第一个目标是在进一步探索向链接添加更多功能之前,使用世博会链接打开应用程序。

代码语言:javascript
复制
Share.share({
    message: "Click Here to View More! " + Linking.makeUrl( ' ' , { postkey : "7a5d6w2x9d6s3a28d8d});
    url: Linking.makeUrl( ' ' , { pkey : gkey });
    title: 'This post is amazing',
  })
  .then((result) =>{
    console.log(result)
      if(result === 'dismissedAction'){
        return
      }
  })
  .catch((error) => console.log(error))

在我的应用程序的根目录中,我还定义了事件处理程序: App.js

代码语言:javascript
复制
_handleRedirect=(event)=> {
         let {path,queryParams} = Linking.parse(event);
        Alert.alert(`queryparams : ${event}  path : ${path} `) 

         this.props.navigation.navigate("Post_Detail",{key:queryParams.postkey}) 
         
  }
}

componentDidMount() {
  let scheme = 'nxet'
 Linking.getInitialURL()
    .then(url => {
      console.log("App.js getInitialURL Triggered")
      // this.handleOpenURL({ url });
    })
    .catch(error => console.error(error));
  Linking.addEventListener('url', ({url}) =>  this._handleRedirect(url));;
}

componentWillUnmount() {
  Linking.removeEventListener('url', this.handleOpenURL);
}

当我分享Whatsapp、Facebook Messenger的链接,或者只是显示为myapplink://的消息或笔记时,我会尝试在浏览器中输入这一链接,而不是要求我打开我的应用程序-它会进行谷歌搜索。

请注意,我正在尝试让它在Android设备上工作,并面临这个问题

我是不是做错了什么?

任何帮助都是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-01-21 21:32:09

你不能打开外部链接,方法是在Android上打开http、https以外的链接。但你可以在iOS上使用。为了能够打开您的世博会链接,您需要在android上使用适当的锚标签。你可以创建html邮件,然后试一试,你会发现它也能在Android上工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62717985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档