Я использую this code, чтобы найти свое текущее местоположение. Но если я дома, он не может найти меня. Но карты Google и другие подобные приложения могут найти меня, хотя я дома. В чем разница?Android GPS Расположение моего местоположения
ответ
Если вы используете GPS_Provider, убедитесь, что у вас есть следующее разрешение в ваше приложение манифеста:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Но обычно GPS работает только со свободным небом (не в помещении очень хорошо). Поэтому, хотя Google Maps может показывать последнее известное местоположение, возможно, ваше приложение не работает. Поэтому сначала вы можете сначала вызвать getLastKnowLocation
, чтобы установить начальный маркер. Несмотря на то, что GPS не может получить исправление, вы все равно можете показать последнее известное местоположение, известное устройству, то есть когда вы были на улице в последний раз.
В качестве альтернативы или дополнительно к GPS_Provider, вы можете также использовать
LocationManager.NETWORK_PROVIDER
вместо этого, который основан на Wi-Fi и/или GMS, является менее точным, чем GPS, но работает в закрытом помещении.
Для этого вам необходимо разрешение
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
в манифесте.