public class BaseFeature extends java.lang.Object implements IFeature, IBoot, ISysEventListener, IReflectAble
execute(IWebview, String, JSONArray)
接口;JSONArray元素顺序即为js层传入顺序。
同时不推荐使用execute(IWebview, String, String[])
实现不同函数的分发。
注:如果JSAPI扩展规范需要开源,推荐继承StandardFeature
类,使得结构更清晰、更易懂、更规范,同时也有一些限制。限定符和类型 | 类和说明 |
---|---|
static class |
BaseFeature.BaseModule |
ISysEventListener.SysEventType
F_ACCELEROMETER, F_AUDIO, F_BARCODE, F_CAMERA, F_CONSOLE, F_CONTACTS, F_DEVICE, F_DOWNLOADER, F_EVENTS, F_FILE, F_GALLERY, F_GEOLOCATION, F_INVOCATION, F_MAPS, F_MESSAGING, F_ORIENTATION, F_PAYMENT, F_PROXIMITY, F_PUSH, F_RUNTIME, F_SHARE, F_SPEECH, F_SPLASHSCREEN, F_STATISTIC, F_STORAGE, F_UI, F_XMLHTTPREQUEST, F_ZIP
构造器和说明 |
---|
BaseFeature() |
限定符和类型 | 方法和说明 |
---|---|
void |
dispose(java.lang.String pAppid)
webapp退出时调用或基座退出时调用
|
boolean |
doHandleAction(java.lang.String action) |
java.lang.String |
execute(IWebview pWebViewImpl,
java.lang.String pActionName,
JSONArray pArray)
扩展js,java内部实现逻辑,通过传入的pActionName参数区分使用不同的函数处理
|
java.lang.String |
execute(IWebview pWebViewImpl,
java.lang.String pActionName,
java.lang.String[] pJsArgs)
执行特征的脚本
|
BaseFeature.BaseModule |
getBaseModuleById(java.lang.String id) |
void |
init(AbsMgr pFeatureMgr,
java.lang.String pFeatureName)
实现类初始化时调用
|
java.util.ArrayList<BaseFeature.BaseModule> |
loadModules() |
boolean |
onExecute(ISysEventListener.SysEventType pEventType,
java.lang.Object pArgs)
当系统事件触发时执行,交由注册方处理相应事件逻辑。
|
void |
onPause()
当暂停时调用
|
void |
onReceiver(Intent intent) |
void |
onResume()
当由暂停状态恢复时调用
|
void |
onStart(Context pContext,
Bundle pSavedInstanceState,
java.lang.String[] pRuntimeArgs)
随基座一同启动的模块,如Core类。
|
void |
onStop()
当停止时调用
|
void |
registerSysEvent(IWebview webview)
注册所有的系统事件
SysEventType#AllSystemEvent |
void |
registerSysEvent(IWebview webview,
ISysEventListener.SysEventType sysEventType)
注册制定的sysEventType系统事件
|
void |
unregisterSysEvent(IWebview webview)
|
void |
unregisterSysEvent(IWebview webview,
ISysEventListener.SysEventType sysEventType)
取消注册制定的sysEventType系统事件
|
public final java.lang.String execute(IWebview pWebViewImpl, java.lang.String pActionName, java.lang.String[] pJsArgs)
IFeature
public java.lang.String execute(IWebview pWebViewImpl, java.lang.String pActionName, JSONArray pArray)
public void init(AbsMgr pFeatureMgr, java.lang.String pFeatureName)
IFeature
public void dispose(java.lang.String pAppid)
IFeature
public final void registerSysEvent(IWebview webview, ISysEventListener.SysEventType sysEventType)
webview
- sysEventType
- 参照如下对应关系:SysEventType#onActivityResult
对应onActivityResult(int, int, Intent)
;SysEventType#onNewIntent
对应onNewIntent(Intent)
;SysEventType#onResume
对应onResume()
;SysEventType#onPause
对应onPause()
;SysEventType#onStop
对应onStop()
,也即Activity的onDestroy事件;SysEventType#onSaveInstanceState
对应onSaveInstanceState(Bundle)
;SysEventType#onStart
对应onStart(Context, Bundle, String[])
,也即Activity的onCreate事件;SysEventType#onConfigurationChanged
对应onConfigurationChanged(Configuration)
;SysEventType#onConfigurationChanged
对应onConfigurationChanged(Configuration)
。SysEventType#onKeyDown
、SysEventType#onKeyUp
、SysEventType#onKeyLongPress
事件
需要重写onExecute(io.dcloud.DHInterface.ISysEventListener.SysEventType, Object)
实现判断监听public final void unregisterSysEvent(IWebview webview, ISysEventListener.SysEventType sysEventType)
webview
- sysEventType
- public final void registerSysEvent(IWebview webview)
SysEventType#AllSystemEvent
webview
- public final void unregisterSysEvent(IWebview webview)
webview
- public boolean doHandleAction(java.lang.String action)
public void onReceiver(Intent intent)
public void onStart(Context pContext, Bundle pSavedInstanceState, java.lang.String[] pRuntimeArgs)
IBoot
public final boolean onExecute(ISysEventListener.SysEventType pEventType, java.lang.Object pArgs)
ISysEventListener
onExecute
在接口中 ISysEventListener
pEventType
- 事件类型。pArgs
- 事件执行参数。public BaseFeature.BaseModule getBaseModuleById(java.lang.String id)
public java.util.ArrayList<BaseFeature.BaseModule> loadModules()