项目背景:与A公司合作开发一个项目,A公司用的原生,我们公司用的ionic,用原生的外壳点击菜单进入我们不同的项目,一个主要问题就是两个app之间参数传递。
技术支持:做过原生开发的能知道,两个原生应用可以实现部分数据共享,ionic本身调用系统的拍照也能返回参数到前台页面,想着一种方案是通过SharedPreference在A应用保存数据然后在B应用中获取,ionic开发的项目编译完就是原生的代码,我可以在启动页拿到A应用传递的数据,但是在ionic页面调用不到。第二种是开发一个cordova插件,在ionic中调用插件获取到数据,参照ionic官方的调用拍照的插件,获取到A应用的数据后,并未返回的cordova插件的页面,所有没法在ionic中拿到数据(这种技术上来说是可以实现的,有时间我在实验下)。
我们成功的方案是ionic打包编译后的启动页MainActivity中获取到A应用的参数,然后在loadUrl的参数地方加上参数,在项目中通过window.location.search 即可获取到这个参数,具体操作如下:
1.原生页面发送数据
应用A点击按钮发送参数到B应用的启动页,只要B应用编译出来的是apk在B的启动页都能接受(可以了解下两个原生APP如何共享数据)