宜信同城网交流论坛

 找回密码
 立即注册
开启左侧

Native.js for Android封装一条通过JS语法直接调用Native Java接口通道,通过plus.and ...

[复制链接]
发表于 2023-2-16 18:54:40 | 显示全部楼层 |阅读模式 来自 LAN

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

 

currentWebview

获取当前Webview窗口对象的native层实例对象

 

说明:

Android平台完整Java类名为android.webkit.Webview,完整API请参考Android开发文档

参数:

返回值:

InstanceObject : Webview窗口对象的native层android.webkit.Webview实例对象,如果调用方法失败,则返回null。

示例:

 

uni-app使用plus注意事项

newObject

创建实例对象

 

参数:

  • classname: ( String ) 必选 要创建实例对象的类名,使用"."分割命名空间

    如果指定的类名不存在,则创建对象失败,不会抛出异常。

  • args: ( Object ) 可选 创建实例对象的构造参数

    如果指定的构造参数类型不区配,则创建对象失败,不会抛出异常。

返回值:

InstanceObject : Android实例对象,如果创建对象失败则返回null。

示例:

 

uni-app使用plus注意事项

getAttribute

获取对象(类对象/实例对象)的属性值

 

参数:

  • obj: IntanceObject | ClassObject | String ) 必选 要获取属性值的对象,也可以是类的名称

    如果obj为实例对象(InstanceObject),则获取的是实例的属性值; 如果obj为类对象(ClassObject),则获取的是类的静态属性值; 如果obj为字符串类型,其值必须是类的名称,则获取是类的静态属性值;

  • name: ( String ) 必选 要获取的属性名称

    如果指定的属性名称不存在,则获取属性失败,不会抛出异常。

返回值:

Object : 属性值对象,如果获取属性失败则返回null。

示例:

 

uni-app使用plus注意事项

setAttribute

设置对象(类对象/实例对象)的属性值

 

参数:

  • obj: InstanceObject ) 必选 要设置属性值的对象,也可以是类的名称

    如果obj为实例对象(InstanceObject),则设置的是实例的属性值; 如果obj为类对象(ClassObject),则设置的是类的静态属性值; 如果obj为字符串类型,其值必须是类的名称,则设置是类的静态属性值;

  • name: ( String ) 必选 要设置的属性名称

    如果指定的属性名称不存在,则操作不生效,不会抛出异常。

  • value: ( Object ) 必选 要设置的属性值

    如果指定的属性值类型不区配,则操作不生效,不会抛出异常。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

implements

实现Interface的方法

 

参数:

  • name: ( String ) 必选 Interface的名称,也可以是自定的字符串名称

    如果name为自定的字符串名称,则自定义一个Interface;

  • obj: ( Object ) 必选 JSON对象类型,Interface实现方法的定义

    JSON对象中key值为Interface方法的名称;value值为Function。

返回值:

InstanceObject : Interface实例对象。

示例:

 

uni-app使用plus注意事项

importClass

导入Java类对象

 

说明:

导入类对象后,就可以通过.操作符直接调用对象(类对象/实例对象)的方法。 注意:导入类对象将会消耗较多的系统资源,通常不应该导入过多的类对象,可以使用plus.android.invoke()来调用未导入类实例对象的方法。

参数:

  • classname: ( String | InstanceObject ) 必选 要导入的Java类名或者实例对象,使用"."分割命名空间

    在类名中可以使用"*"来导入指定命名空间下的所有类对象; 如果指定的类名无效,则导入类对象失败。

返回值:

ClassObject : Java类对象,如果导入类对象失败则返回null。

示例:

 

uni-app使用plus注意事项

invoke

调用对象(类对象/实例对象)的方法

 

参数:

  • obj: InstanceObject | ClassObject | String ) 必选 调用方法所属的对象,也可以是类的名称

    如果obj为实例对象(InstanceObject),则调用的是实例的方法; 如果obj为类对象(ClassObject),则调用的是类的静态方法; 如果obj为字符串类型,其值必须是类的名称,则调用的是类的静态方法;

  • name: ( String ) 必选 要调用的方法名称

    如果指定的方法名称不存在,则调用方法失败,不会抛出异常。

  • args: ( Object ) 可选 调用方法的参数

    如果指定的参数数目或类型不区配,则调用方法失败,不会抛出异常。

返回值:

Object : 调用方法的返回值,如果调用方法失败,则返回undefined。

示例:

 

uni-app使用plus注意事项

requestPermissions

请求权限

 

说明:

向系统请求权限,Android系统6+版本(API等级23+),并且必须设置targetSdkVersion>=23,参考:Android平台API等级配置 - minSdkVersion&targetSdkVersion - DCloud问答。 如果权限属于危险权限并且用户没有授权则会弹出系统提示框由用户授权确认,如果已经授权或被用户拒绝则返回结果。 授权结果在successCb回调参数中可获取。

参数:

  • permissions: ( Array[String] ) 可选 申请的权限列表

    权限列表参考Android官方列表https://developer.android.com/reference/android/Manifest.permission(需翻墙)。 注意:要申请的权限需在应用manifest.json的“模块权限配置”中勾选(保存后提交云端打包)。

  • successCb: AndroidSuccessCallback ) 可选 申请权限成功回调函数

    返回申请权限的结果,可能被用户允许 回调函数的参数event包含以下属性:

    • granted - Array[String]字符串数组,已获取权限列表;
    • deniedPresent - Array[String]字符串数据,已拒绝(临时)的权限列表;
    • deniedAlways - Array[String]字符串数据,永久拒绝的权限列表。

  • errorCB: AndroidErrorCallback ) 可选 申请权限失败回调函数

    通常传入参数错误时触发此回调。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

runtimeMainActivity

获取应用主Activity实例对象

 

说明:

Android平台完整Java类名为android.app.Activity,完整API请参考Android开发文档

参数:

返回值:

InstanceObject : 程序原生Java层主Activity实例对象。

示例:

 

uni-app使用plus注意事项

autoCollection

自动回收对象

 

说明:

回收对象,设置自动回收原生对象(变量置空),应用在内存回收(GC)时自动释放对象占用的资源。

参数:

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

ClassObject

Java类对象

 

说明:

Java类对象,可通过其属性获取类的常量,可通过方法来操作类的静态变量和方法,也通过new方法来创建类的实例对象。 对于类的常量,则直接通过.后面跟随常量名称调用即可。

方法:

plusGetAttribute

获取Java类对象的静态属性

 

参数:

  • name: ( String ) 必选 要获取的静态属性名称

    如果指定的属性名称不存在,则返回null。

返回值:

Object : 静态属性实例对象

示例:

 

uni-app使用plus注意事项

plusSetAttribute

设置Java类对象的静态属性

 

参数:

  • name: ( String ) 必选 要设置的静态属性名称

    如果指定的属性名称不存在,则操作不生效,不会抛出异常。

  • value: ( Object ) 必选 要设置的静态属性值

    如果指定的属性值类型不区配,则操作不生效,不会抛出异常。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

InstanceObject

Java实例对象

 

说明:

Java实例对象,可通过其方法来操作实例的变量和方法。 注意:必须通过plusGetAttribute()方法读取实例对象的属性值,通过plusSetAttribute()方法设置实例对象的属性值。

方法:

plusGetAttribute

获取Java实例对象的属性

 

参数:

  • name: ( String ) 必选 实例属性的名称

    如果指定的属性名称不存在,则返回null。

返回值:

Object : 属性的值

示例:

 

uni-app使用plus注意事项

plusSetAttribute

设置Java实例对象的属性

 

参数:

  • name: ( String ) 必选 要设置的属性名称

    如果指定的属性名称不存在,则操作不生效,不会抛出异常。

  • value: ( Object ) 必选 要设置的属性值

    如果指定的属性值类型不区配,则操作不生效,不会抛出异常。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

AndroidSuccessCallback

成功回调函数

 

说明:

不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。

参数:

  • event: ( Object ) 必选 回调参数

    回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。

返回值:

void : 无

AndroidErrorCallback

错误回调函数

 

参数:

  • error: ( Exception ) 必选 获取加速度操作的错误信息

    可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

返回值:

void : 无

宜信网交流论坛 - 版权声明 1、在发表言论时,请遵守当地法律法规。主题所有言论纯属个人意见,与本站立场无关。
2、本站所有主题由作者发表,作者享有帖子相关版权,其他单位或个人使用、转载或引用本文时必须征得作者同意并注明来源于宜信网
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
4、帖子不遵守当地法律法规、广告、人身攻击等情况时,宜信网管理人员有权不事先通知发贴者而删除本文。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|宜信同城网交流论坛 ( 闽ICP备19021048号 )|站点地图

GMT+8, 2026-3-28 02:31 , Processed in 0.223602 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表