我是靠谱客的博主 勤劳金鱼,最近开发中收集的这篇文章主要介绍angular 移动端项目跟原生安卓和iOS交互,互调方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前端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 });
}
}

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

1.先在项目src目录下定义全局方法 clobal.d.ts

declare var playOver: any;
declare var getAudioUrl: any;
declare var authType: any;
declare var isDeleted: any;
interface Window {
playOver: any;
}
interface Window {
getAudioUrl: any;
}
interface Window {
authType: any;
}
interface Window {
isDeleted: any;
}

2.在ts里写全局方法

ngOnInit() {
this.planId = this.activatedRoute.snapshot.queryParamMap.get("belongId")snapshot.queryParamMap.get("pattern");
this.rebuild = this.activatedRoute.snapshot.queryParamMap.get("rebuild");
this.openId = this.cookiesUtilService.getOpenId();
this.audio = document.querySelector('audio');
this.stop = document.getElementById('stop');
this.htmlDetail();
let that = this;
//全局方法palyOver
安卓和iOS都调用这个方法
全局方法里我在调用了移动端方法,这样就实现互调
window['playOver'] = function () {
alert(that.recordTime);
that.playing = false;
if (window["plan"]) {
window["plan"].playIsOver();
}
if (window["webkit"]) {
window["webkit"].messageHandlers.playIsOver.postMessage({ item: '' });
}
};
//全局方法getAudioItems
window['getAudioItems'] = function (item: any) {
alert("获取app传来的语音信息");
console.log(item);
that.audioItems = item;
};
//全局方法authType
window['authType'] = function (item: any) {
alert("获取权限状态,1授权,0没授权");
that.typeOfAuth = item;
console.log(item);
if (that.typeOfAuth == 1) {
that.setRecordingTime(that.activeId);
}
};
}

最后

以上就是勤劳金鱼为你收集整理的angular 移动端项目跟原生安卓和iOS交互,互调方法的全部内容,希望文章能够帮你解决angular 移动端项目跟原生安卓和iOS交互,互调方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部