uniapp 开发实操三 :uniapp 与android 原生交互

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

猜你喜欢

转载自blog.csdn.net/qq_40263927/article/details/122643699