Android浏览器插件开发(二)
2010-05-31 14:09:00 来源:WEB开发网NPStream* stream);
浏览器在给plugin对象传输流数据前,会先调用这一函数询问plugin能接收的数据长度。
//===================================
int32 NPP_Write(NPP instance,
NPStream* stream,
int32_t offset, int32_t len,
void* buffer);
流数据的传输,根据 NPStream* stream里的url可以判断是哪个数据流,int32_t offset为void* buffer这段数据在数据流中的偏移量,int32_t len为void* buffer的长度,返回值是plugin对象实际接收的数据大小。
//===================================
int16 NPP_HandleEvent(NPP instance,
void* event);
事件处理函数,在这里plugin要完成各种事件的处理,包括绘制、按键、鼠标、触控等等,事件的参数都包装在void* event里,可以参照external/webkit/WebKit/android/plugins/android_npapi.h中 ANPEvent结构体的定义。
//===================================
void NPP_Print(NPP instance,
NPPrint* platformPrint)
根据NPAPI的定义,浏览器会通过这个函数通知plugin进行输出操作。
//===================================
void NPP_URLNotify(NPP instance,
const char* URL,
NPReason reason,
void* notifyData);
如果plugin调用了NPN_GetURLNotify或者NPN_PostURLNotify,在浏览器侧的操作完成了以后,就会调用这个函数返回一些信息。
//===================================
更多精彩
赞助商链接