当uniapp 现有功能无法满足实际应用需要的时候,就可以通过调用原生代码来满足需求。
如何将uniapp代码放入原生框架中,可以参考官网说明:原生开发者支持
<template>
<view>
<button type="primary" @click="toNative">调用原生方法</button>
</view>
</template>
<script>
var testModule = uni.requireNativePlugin("TestModule")
const modal = uni.requireNativePlugin('modal');
export default {
data() {
return {
}
},
methods: {
toNative(){
// 调用异步方法testAsyncNative
nativeModule.testAsyncNative({
'name': 'unimp',
'age': 1
},
(ret) => {
modal.toast({
message: ret,
duration: 1.5
});
})
}
}
}
</script>
<style>
</style>
android原生代码:
public class NativeModule extends UniModule { @UniJSMethod(uiThread = true) // 异步调用 public void testAsyncNative(JSONObject options, UniJSCallback callback) { Log.e("NativeModule", "testAsyncNative--"+options); if(callback != null) { JSONObject data = new JSONObject(); data.put("code", "success"); callback.invoke(data); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。