插件开发

插件开发

冰狐支持插件开发,开发者可以集成任何第三方功能,比如某某ocr等等,插件以apk形式提供。
例子:
function main() {
    // 加载插件
    var plugin = loadPlugin('/sdcard/myPlugin.apk')

    // 创建插件中的对象
    var obj = plugin.newObject('com.example.dynamiccall.MyClass')

    // 调用对象中的方法
    var r = obj.getStr(rsContext);
    console.log('r:', r)
}

插件开发规则

开发插件要遵循一下规则:(注意:接口类指newObject函数参数对应的类,也就是和js交互的java类)
  • 对外提供的接口类的构造函数不要带参数,如果需要初始化用单独的初始化函数,比如:init等。
  • 若想传递json数组或者json对象,请使用json字符串(使用JSON.stringify转换)作为参数。
  • 若接口类中返回数组和对象之类的,可以直接返回json字符串,然后在js中JSON.parse()来处理。
  • 可以在接口类中直接返回java对象。

loadPlugin

全局函数,加载插件,返回Plugin对象
参数:
参数名 类型 必填 说明
path string 必填 插件文件的全路径

Plugin对象

插件对象,注意不要多次加载同一个插件
参数:
函数名 参数 返回值 说明
newObject java类的全路径名 Object 创建对应的对象