android
if (pendingCallbacks & kStatus) {
env->CallVoidMethod(obj, method_reportStatus, sGpsStatusCopy.status); }
if (pendingCallbacks & kSvStatus) {
env->CallVoidMethod(obj, method_reportSvStatus);
}
if (pendingCallbacks & kXtraDownloadRequest) {
env->CallVoidMethod(obj, method_xtraDownloadRequest);
}
if (pendingCallbacks & kDisableRequest) {
// don't need to do anything - we are just poking so wait_for_event will return. }
}
//hardware 那部分有个线程gps_state_thread 一直在读串口的内容并进行解析,最后解析到location的信息 由cpp文件的GpsCallbacks sGpsCallbacks = { location_callback....}同步上层的线程
gps_state_thread
----->nmea_reader_addc
----->nmea_reader_parse
------> location_callback
------->数据上报