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