Im пытается получить текущее местоположение пользователя через GPS. Я прочитал документы Google по этому вопросу и попробовал несколько руководств, но ничего не работает должным образом. Вот мой код:GPS Locator не работает
public class useGPS extends Activity implements LocationListener
{
private static final String TAG = "useGPS:";
LocationManager myLocManager;
TextView locationData;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.use_gps);
myLocManager = (LocationManager)this.getSystemService(LOCATION_SERVICE);
Location location = myLocManager.getLastKnownLocation(myLocManager.GPS_PROVIDER) ;
if(location != null)
{
Log.d(TAG,location.toString());
Toast.makeText(this, "Location changed...", Toast.LENGTH_SHORT);
this.onLocationChanged(location);
}
}
@Override
protected void onResume()
{
super.onResume();
myLocManager.requestLocationUpdates(myLocManager.GPS_PROVIDER, 3000, 0, this);
}
@Override
protected void onPause()
{
super.onPause();
myLocManager.removeUpdates(this);
}
@Override
public void onLocationChanged(Location location)
{
Log.d(TAG,"onLocationChanged with location: "+location.toString());
// Return a string representation of the latitude & longitude. Pass it to the textview and update the text
String text = "Lat: "+location.getLatitude()+"\nLong: "+location.getLongitude();
locationData = (TextView)findViewById(R.id.locationData);
locationData.setText(text);
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Provider Disabled...", Toast.LENGTH_SHORT);
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText(getApplicationContext(), "Provider Enabled...", Toast.LENGTH_SHORT);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
Я знаю, что GPS, как правило, не работает в закрытом помещении, так что я пошел и встал снаружи для 5minutes и это не делает разницы. Когда я использовал эмулятор для имитации местоположения, он вернул лат & долгое местоположение в порядке - никаких ошибок.
Кроме того - я включил необходимые разрешения в файле манифеста следующим образом:
<uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION"></uses-permission>
Любая идея относительно того, почему это не работает?
вы проверили, например. Google Maps или какой-либо инструмент для тестирования GPS, что вы действительно получаете местоположение от GPS? На некоторых устройствах может потребоваться очень много времени. Возможно, GPS отключен. – zapl
Определите действительно долго - я смотрел на устройство в течение 15 минут, и он ничего не делал, кроме спутникового изображения в верхней части экрана, анимации - вы знаете всю информацию о спутнике-отправке ... – Katana24
GPS не имеет пока значок GPS не перестанет мигать. В зависимости от доступности местоположения/спутниковой видимости/доступности данных и т. Д. Long = 30 минут или около того. – zapl