Я тестировал функциональность GPS на различных устройствах Android, я попробовал простой фрагмент кода, где я просто делаю следующее:
Location position = LocationManager.getLocationManager().getCurrentLocationSync();
и пробовал с таймаутом
Location position = LocationManager.getLocationManager().getCurrentLocationSync(20000);
и устройство только что застряло с сигналом GPS сверху
Поиск GPS
Устройство: Samsung SM-N900 [Samsung GALAXY Note 3], Samsung Note 8, а иногда и на Apple IPhone [IPhone 7]
- на Apple, я думаю, что проблему можно воспроизвести, если вы позвоните
Location position = LocationManager.getLocationManager().getCurrentLocationSync(20000);
более одного раза за короткий промежуток времени [менее 1 минуты или около того], а иногда и на яблоке, это дает неправильные показания, если требуется слишком много времени, чтобы получить результат отGPS
Обновление, где я получаю исключение при получении текущего местоположения от GPS на Android без Wi-Fi:
09-27 07:22:35.668: W/System.err(8801): java.io.IOException: cannot retrieve location try later
09-27 07:22:35.668: W/System.err(8801): at com.codename1.location.AndroidLocationPlayServiceManager.getCurrentLocation(AndroidLocationPlayServiceManager.java:74)
09-27 07:22:35.668: W/System.err(8801): at c.a.iF(Unknown Source)
09-27 07:22:35.668: W/System.err(8801): at b.a.a(Unknown Source)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.l.f$a.a(UIBuilder.java:2835)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.l.c.a(EventDispatcher.java:349)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.d.f(Button.java:570)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.d.g(Button.java:604)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.d.b(Button.java:708)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.u.b(Form.java:3259)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.l.f(Component.java:4288)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.q.a(Display.java:2065)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.q.j(Display.java:1043)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.q.i(Display.java:961)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.s.ai.run(RunnableWrapper.java:120)
09-27 07:22:35.668: W/System.err(8801): at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
09-27 07:22:35.668: W/System.err(8801): at java.lang.Thread.run(Thread.java:818)
благодарю за помощь
С уважением,