当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);
          
        }
    }
}









