Я знаю, что это немного поздно. Однако почему бы не использовать NMEAListener, если вы хотите знать, есть ли у вас исправление. Из того, что я прочитал, NMEAListener даст вам предложения NMEA, и оттуда вы выберете правильное предложение.
Предложение RMC содержит статус исправления: A для OK или V для предупреждения. Предложение GGA содержит фиксированное качество (0 недействительно, 1 GPS или 2 DGPS)
Я не могу предложить вам какой-либо Java-код, так как я только начинаю с Android, но я создал библиотеку GPS на C # для приложений Windows, которую я собираюсь использовать с Xamarin. Я только сталкивался с этой темой, потому что я искал информацию о поставщике.
Из того, что я читал до сих пор об объекте Location, мне не очень удобно пользоваться такими методами, как getAccuracy () и hasAccuracy (). Я привык извлекать из предложений NMEA значения HDOP и VDOP, чтобы определить, насколько точны мои исправления. Довольно часто иметь исправление, но с паршивым HDOP, что означает, что ваша горизонтальная точность не очень хорошая. Например, сидя за рабочим столом и отлаживая внешнее устройство Bluetooth GPS, прижавшись к окну, вы, скорее всего, получите исправление, но очень плохие HDOP и VDOP. Поместите свое устройство GPS в цветочный горшок снаружи или что-то подобное или добавьте внешнюю антенну к GPS, и вы сразу же получите хорошие значения HDOP и VDOP.