If you happen to be writing a browser plug-in using NPAPI/JNI for Android's built-in browser, and are doing some processing in the native side in C/C++ in a separate Posix thread; and want to get a callback into your native code from the main browser thread; you want to use this NPAPI function...!
void NPN_PluginThreadAsyncCall(NPP instance,
void (*func)(void *),
You can find some documentation on this if you search your Android source code for the file called npapi.cpp.
Basically, you call the above function from your native thread to register a callback function; the call to NPN_PluginThreadAsyncCall returns immediately. At some future point in the very near future, the browser will call your supplied function from the main browser thread, supplying the userData that you provided when you registered your callback.
NPObject *NPN_RetainObject(NPObject *npobj);
Once you've used the object, remember to release it with:
void NPN_ReleaseObject(NPObject *npobj);
Hopefully that'll be of use to some people!