WEB开发网
开发学院手机开发Android 开发 Android浏览器插件开发(二) 阅读

Android浏览器插件开发(二)

 2010-05-31 14:09:00 来源:WEB开发网   
核心提示://===NPError NPP_GetValue(NPP instance,NPPVariable variable,void *ret_value);浏览器通过此函数获取plugin对象的一些参数,需要根据NPPVariable variable进行不同的处理,Android浏览器插件开发(二)(2),NPPVar

//===================================

NPError NPP_GetValue(NPP instance,

NPPVariable variable,

void *ret_value);

浏览器通过此函数获取plugin对象的一些参数,需要根据NPPVariable variable进行不同的处理,NPPVariable的定义可以参照external/webkit/Webcore/bridge/npapi.h 和external/webkit/WebKit/android/plugins/android_npapi.h。

//===================================

NPError NPP_SetValue(NPP instance,

NPNVariable variable,

void *value);

浏览器通过此函数设置plugin对象的一些参数,和NPP_GetValue一样,需要根据NPPVariable variable进行不同的处理,NPPVariable的定义可以参照external/webkit/Webcore/bridge/npapi.h 和external/webkit/WebKit/android/plugins/android_npapi.h。

//===================================

NPError NPP_SetWindow(NPP instance,

NPWindow* window);

浏览器通过该函数告知plugin对象其窗口参数,主要就是的plugin对象所占画面的大小。

//===================================

NPError NPP_NewStream(NPP instance,

NPMIMEType type,

NPStream* stream,

NPBool seekable,

uint16* stype);

如果需要向plugin传输一些流数据,浏览器会通过此函数告知plugin即将要传输的流,在参数NPStream* stream中包含了流的url,以后需要对根据此url对NPP_Write传入的数据进行区分。

//===================================

void NPP_StreamAsFile(NPP instance,

NPStream* stream,

const char* fname);

如果浏览器要传输的是本地文件流,则会选择调用这个参数通知plugin流的信息。

//===================================

NPError NPP_DestroyStream(NPP instance,

NPStream* stream,

NPReason reason);

如果数据流传输结束或意外终止了,浏览器会调用此函数告知plugin注销这一数据流,可以通过NPReason reason判断数据流是否为正常结束。

//===================================

int32 NPP_WriteReady(NPP instance,

Tags:Android 浏览器 插件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接