ionic调用android原生代码,【技巧】ionic与原生安卓/ios交互(iframe通用)

本文介绍了如何在Ionic应用中与原生Android或iOS框架进行交互,包括原生方法调用Web接口以及Web方法回调到原生。对于原生提供给Web的方法,可以直接在Ionic的TS文件中调用;对于Web提供给原生的方法,需将TS方法转换为window下的全局方法以便原生调用。通过示例代码详细展示了具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:ionic做的web页面嵌套在原生框架的app里面(此文章仅讲解ionic部分,原生部分略...)

分两种情况:

1、原生提供方法 —给—》 web调用

2、web提供方法 —给—》 原生回调

以下是我的需求:

9d37590df63a

image.png

上图是在原生js里面的写法,那我们在ionic里面应该怎么处理呢?

1、原生提供方法 —给—》 web调用

ts

declare let LmYunJs

LmYunJs.getGeolocationXY() // 在需要的地方根据文档直接这样调用

2、web提供方法 —给—》 原生回调

原生调用的是window下面的方法,所以我们要把ts里面的方法转成window下的先

ts

declare let appCallback_GeolocationXY

constructor(){

//先把方法定义成window下的

window.appCallback_GeolocationXY = (jsonParam) => {

alert("成功进入异步回调:appCallback_GeolocationXY()");

if (typeof (jsonParam) == 'string') {

jsonParam = JSON.parse(jsonParam);

}

alert("lng=" + jsonParam.lng);

alert("lat=" + jsonParam.lat);

}

}

这样就完成了!

另外,如果你像检查方法是不是window下的你可以这样

console.log(window.appCallback_GeolocationXY)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值