ReactNative
rn可以通过Linking这个组件来唤起其他app应用(前提要知道对应app应用的url scheme),他主要提供了三个主要的api调用:
1.canOpenURL(url):判断当前url scheme是否在安卓机器上有安装过;
Linking.canOpenURL('weixin://')
.then(isSupport => { ... })
.catch(e => {...})
2.openURL(url):在安卓上打开指定的url scheme的app应用;
Linking.canOpenURL('weixin://')
.then(isSupport => {
if (isSupport) {
return Linking.openURL('weixin://');
} else { ... }
}).catch(e => {...})
注意:本方法会返回一个Promise对象。如果用户在弹出的对话框中点击了确认或是 url 自动打开了,则 promise 成功完成。如果用户在弹出的对话框中点击取消或是没有对应应用可以处理此类型的 url,则 promise 会失败。
3.getInitialURL():如果本应用被另一个应用调用时,会返回相应的连接地址;
genInitialURL().then(url => {...}).catch(e => {...});
web site:
使用Linking唤醒其它app及WebViewIntent属性详解一 component属性
带你了解Android的Scheme协议