| | |
| | | } |
| | | |
| | | public void refreshFromDevice() { |
| | | // 检查是否正在导航预览模式,如果是则不更新位置 |
| | | if (isNavigating()) { |
| | | return; |
| | | } |
| | | |
| | | Device device = Device.getGecaoji(); |
| | | if (device == null) { |
| | | positionValid = false; |
| | |
| | | positionValid = true; |
| | | headingDegrees = heading; |
| | | } |
| | | |
| | | /** |
| | | * 检查是否正在导航预览模式 |
| | | * @return 如果正在导航预览返回true,否则返回false |
| | | */ |
| | | private boolean isNavigating() { |
| | | try { |
| | | dikuai.daohangyulan nav = dikuai.daohangyulan.getInstance(); |
| | | if (nav != null) { |
| | | return nav.isNavigating(); |
| | | } |
| | | } catch (Exception e) { |
| | | // 如果获取导航实例失败,返回false(不影响主要功能) |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | private void ensurePosition() { |
| | | if (position == null) { |