Android GPS определение моего местоположения

Я использую этот код чтобы найти мое текущее местоположение. Но если я дома, он не может меня найти. Но карты Google и другие подобные приложения могут найти меня, хотя я дома. В чем разница?


person user345602    schedule 01.08.2010    source источник


Ответы (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"/>

в вашем манифесте.

person Mathias Conradt    schedule 01.08.2010