public abstract class UZModule
extends java.lang.Object
{ name:'moduleName', class:'com.yonbuilder.modules.AnyModule' }
其中,name用于声明该模块开放给Javascript的对象名;class用于声明该继承自UZModule的类所在的路径。
Javascript中通过:var module = api.require('moduleName');引用该模块对象
在该类下定义public类型,jsmethod前缀的void类型函数,并接收UZModuleContext
类型参数, 将操作结果通过success
或者error
回调。
public void jsmethod_funAbc(UZModuleContext moduleContext){ //TODO moduleContext.success(ret, true); }
其中,jsmethod用于声明该函数将作为接口开放给javascript;funAbc用于声明开放给Javascript的接口名。
Javascript通过:var module = api.require('moduleName'); module.funAbc({param}, callback);使用该异步接口
在该类下定义public类型,jsmethod前缀sync后缀的return类型函数,接收UZModuleContext
类型参数,并同步返回经ModuleResult
包装过的数据。
public ModuleResult jsmethod_funAbc_sync(UZModuleContext moduleContext){ //TODO return new ModuleResult(data); }
其中,jsmethod用于声明该函数将作为接口开放给Javascript;funAbc用于声明开放给Javascript的接口名;sync用于声明该函数以同步的方式开放。
Javascript通过:var module = api.require('moduleName'); var ret = module.funAbc({param}); //TODO like: ret.value使用该接口,同步获取结果。
runOnUiThread
在主线程中执行。
构造器和说明 |
---|
UZModule()
构造函数,空实现即可,引擎在初始化该代理类时主动调用该函数。
|
UZModule(UZWebView webView)
构造函数,空实现即可,引擎在初始化该代理类时主动调用该函数。
|
限定符和类型 | 方法和说明 |
---|---|
void |
execScript(java.lang.String winName,
java.lang.String frameName,
java.lang.String script)
向Html5页面执行一段Javascript脚本
|
void |
finishApplication()
请求结束运行当前应用
|
Activity |
getContext()
获取当前模块运行所在的Activity
|
java.lang.String |
getFeatureValue(java.lang.String featureName,
java.lang.String paramName)
获取当前应用widget的config文件中feature字段的值
|
java.lang.String |
getSecureValue(java.lang.String key)
获取当前应用widget的key.xml文件中字段的值。
|
UZWidgetInfo
|
getWidgetInfo()
获取当前模块运行所在的widget信息
|
boolean |
inImmerseState()
当前app是否处于"沉浸式"效果下。
|
void |
insertViewToCurWindow(View child,
RelativeLayout.LayoutParams parms)
插入一个Android的View到当前Html5页面所在的window
|
void |
insertViewToCurWindow(View child, ViewGroup.LayoutParams parms,
java.lang.String frameName)
插入一个Android的View到当前Html5页面所在的window
|
void |
insertViewToCurWindow(View child, ViewGroup.LayoutParams parms,
java.lang.String frameName,
boolean fixed)
插入一个Android的View到当前Html5页面所在的window
|
void |
insertViewToCurWindow(View child, ViewGroup.LayoutParams parms,
java.lang.String frameName, boolean fixed,
boolean needVerScroll)
插入一个Android的View到当前Html5页面所在的window
|
java.lang.String |
makeAbsUrl(java.lang.String link)
基于当前Html5页面的绝对Url将某相对Url转换为绝对Url.
|
java.lang.String |
makeRealPath(java.lang.String path)
将一个任意协议的路径,如标准的content://,res://,以及APICloud扩展的widget://,fs://,cache://转换为系统可识别的真实路径
如:
path: fs://abc/samples.txt 转换后的结果类似于:/sdcard/uzmap/appid/abc/samples.txt的本地SD卡中路径 |
void |
onActivityResult(int requestCode, int resultCode,
Intent data)
通过UZModule.startActivityForResult启动的目标Activity在结束运行后,结果将通过该函数回调。
|
protected void |
onClean()
当Html5页面初始化加载,或者即将被销毁时,将回调该函数。
|
boolean |
openWidgetById(java.lang.String widgetId)
根据widget的ID启动一个子widget到当前屏幕
|
void |
removeViewFromCurWindow(View child)
从当前Html5页面所在window移除一个Android的View
|
boolean |
runOnUiThread(java.lang.Runnable action)
在主线程中执行一个操作
|
boolean |
runOnUiThreadDelay(java.lang.Runnable action,
int delayMillis)
在指定时间后的主线程中执行一个操作
|
void |
startActivity(Intent intent)
从模块内部发起一个startActivity
|
void |
startActivityForResult(Intent intent, int requestCode)
从模块内部发起一个startActivityForResult
如果您的模块中需要启动其他Activity,并且获取结果,请务必调用该函数发起startActivityForResult,并且重写本对象下的onActivityResult函数获取结果
|
public UZModule()
public UZModule(UZWebView webView)
webView
-public final Activity getContext()
public final UZWidgetInfo getWidgetInfo()
public java.lang.String getFeatureValue(java.lang.String featureName, java.lang.String paramName)
featureName
- feature名,即为模块名paramName
- 欲获取的参数键public java.lang.String getSecureValue(java.lang.String key)
key
- 欲获取的参数键public final boolean runOnUiThread(java.lang.Runnable action)
action
-public final boolean runOnUiThreadDelay(java.lang.Runnable action, int delayMillis)
action
-delayMillis
-public final void startActivityForResult(Intent intent, int requestCode)
public final void startActivity(Intent intent)
public final void finishApplication()
public final boolean inImmerseState()
public final void insertViewToCurWindow(View child, RelativeLayout.LayoutParams parms)
child
-parms
-public final void insertViewToCurWindow(View child, ViewGroup.LayoutParams parms, java.lang.String frameName)
child
-parms
-frameName
-public final void insertViewToCurWindow(View child, ViewGroup.LayoutParams parms, java.lang.String frameName, boolean fixed)
child
-parms
-frameName
-fixed
-public final void insertViewToCurWindow(View child, ViewGroup.LayoutParams parms, java.lang.String frameName, boolean fixed, boolean needVerScroll)
child
-parms
-frameName
-fixed
-needVerScroll
-public final void removeViewFromCurWindow(View child)
child
-public final boolean openWidgetById(java.lang.String widgetId)
widgetId
-public final void execScript(java.lang.String winName, java.lang.String frameName, java.lang.String script)
winName
-
winName所在window的名称,传""或者null则为当前调用该API所在的window
frameName
- Html5页面所在frame的名称script
- 脚本public final java.lang.String makeAbsUrl(java.lang.String link)
link
- 相对Url,如:../samples.htmlpublic final java.lang.String makeRealPath(java.lang.String path)
path
-
任意协议的路径,如:fs://abc/samples.txt
public void onActivityResult(int requestCode, int resultCode, Intent data)
requestCode
-resultCode
-data
-protected void onClean()