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.SysEventTypeF_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)
IFeaturepublic java.lang.String execute(IWebview pWebViewImpl, java.lang.String pActionName, JSONArray pArray)
public void init(AbsMgr pFeatureMgr, java.lang.String pFeatureName)
IFeaturepublic void dispose(java.lang.String pAppid)
IFeaturepublic 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#AllSystemEventwebview - 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)
IBootpublic final boolean onExecute(ISysEventListener.SysEventType pEventType, java.lang.Object pArgs)
ISysEventListeneronExecute 在接口中 ISysEventListenerpEventType - 事件类型。pArgs - 事件执行参数。public BaseFeature.BaseModule getBaseModuleById(java.lang.String id)
public java.util.ArrayList<BaseFeature.BaseModule> loadModules()