Uniapp 可以通过 DCloud 提供的 API 调用 Java 接口。具体步骤如下:
public class MyJavaInterface {
public void myMethod(String param1, int param2) {
// 执行具体的操作
}
}
@JApi
注解标记需要调用的方法。public class MyJavaInterface {
@JApi
public void myMethod(String param1, int param2) {
// 执行具体的操作
}
}
uni.requireNativePlugin
方法调用 Java 接口。uni.requireNativePlugin('MyPlugin').myMethod('param1', 2, function(res) {
console.log(res);
});
以上代码中,MyPlugin
是在原生端注册的插件名,myMethod
是 Java 类中的方法名。
在 Android 原生端的 UniAppMainActivity
类中,注册插件。
import io.dcloud.feature.sdk.DCUniMPSDK;
public class UniAppMainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DCUniMPSDK.getInstance().initialize(this);
DCUniMPSDK.getInstance().registerJsApi(MyJavaInterface.class);
setContentView(R.layout.activity_main);
}
}
通过 DCUniMPSDK.getInstance().registerJsApi
方法注册 Java 类。
需要注意的是,以上代码仅为示例,具体实现可能因项目结构和功能需求略有不同,请根据实际情况进行调整。