当uniapp 现有功能无法满足实际应用需要的时候,就可以通过调用原生代码来满足需求。
如何将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);
}
}
}









