angular 移动端项目跟原生安卓和iOS交互,互调方法

1、前端H5调用安卓和iOS的方法

showRecoeding(item: any) {
    this.activeId = item;

    let u = navigator.userAgent
    let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;  //判断是安卓手机
     let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);               //判断是iOS
     if (isAndroid) {                                      //如果是安卓就调用安卓方法并传参数
      window["plan"].getAuth(item);
      }
     if (isIOS) {                                           //如果是iOS就调用iOS方法并传参数
      window["webkit"].messageHandlers.getAuth.postMessage({ moduleId: item });
      }
  }

2、移动端安卓和iOS调用h5方法

// 1、先在项目src目录下定义全局方法 clobal.d.ts
declare var alertTest: any;
interface Window {
  alertTest: any;
}

// 2、全局方法中写入方法
  alertTest() {
    window['alertTest'] = function () {
      alert(2222);
    };
  }

// 3、 相应页面中调用
  ionViewDidLoad() {
    this.GlobalFun.alertTest();  // 地图返回
  }

参考:
https://blog.csdn.net/u012705800/article/details/108403612

你可能感兴趣的:(angular 移动端项目跟原生安卓和iOS交互,互调方法)