android Linking添加监听无效



  • 场景

    项目是一个下载器,使用手机浏览器通过scheme(传入下载地址)唤起APP,在componentDidMount中接收传入的下载地址。

    问题

    componentDidMount只会在app加载时执行一次,如果app置于后台没有被销毁,通过浏览器呼起app,就无法进入到componentDidMount,故无法获取浏览器传过来的参数。

    解决方式

    通过监听:

    componentDidMount() {
      Linking.addEventListener('url', this._handleOpenURL);
    },
    componentWillUnmount() {
      Linking.removeEventListener('url', this._handleOpenURL);
    },
    _handleOpenURL(event) {
      console.log(event.url);
    }
    

    但是没有起效

    是我监听方式不对吗,还是这个监听不支持android端,有不有其他的解决方式

    @晴明



  • 已采用其他方式解决了该问题。


登录后回复