ОБНОВЛЕНИЕ 2: проблема решена
после того, как я вышел на улицу и получил сигнал с GPS_PROVIDER, теперь у меня больше нет проблем с получением местоположения с помощью NETWORK_PROVIDER ....
Я до сих пор не знаю, почему приложение Google Maps смогло исправить это до того, как я это сделал, а мое приложение - нет, но теперь оно работает (даже после перезапуска вкладки galaxy), и я вроде какhappy;)
ОБНОВЛЕНИЕ: название темы изменено, см. правку внизу поста.
Я только что попробовал этот урок (http://www.firstdroid.com/2010/04/29/android-development-using-gps-to-get-current-location-2/) для полученияGPS-местоположение на вкладке галактики, но я не получаю никакого местоположения ....
Я уже пытался использовать другого провайдера, но это совсем не помогает (я попробовал GPS_PROVIDER, NETWORK_PROVIDER, PASSIVE_PROVIDER).
Странно то, что с помощью официального приложения Google Maps я получаю местоположение.: \
разрешения в AndroidManifest.xml устанавливаются следующим образом:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Кто-нибудь знает, почему мое приложение получает нет местоположения?
edit:
с провайдером GPS я получаю починку, когда нахожусь на улице.но я не понимаю, почему у меня нет местоположения с помощью NETWORK_PROVIDER или PASSIVE_PROVIDER.
, какого провайдера использует приложение Google Maps, если GPS недоступен?
edit 2:
код (это из учебника выше с некоторыми незначительными изменениями):
package Firstdroid.Tutorial.Gps;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
public class UseGps extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Toast.makeText(getApplicationContext(), "Application started", Toast.LENGTH_SHORT).show();
/* Use the LocationManager class to obtain GPS locations */
LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
// here I choose the location provider:
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener); // <---
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
loc.getLatitude();
loc.getLongitude();
String Text = "My current location is: " +
"Latitude = " + loc.getLatitude() +
"Longitude = " + loc.getLongitude() + " (PROVIDER: " + loc.getProvider() + ")";
Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(),
"Gps Enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}/* End of Class MyLocationListener */
}/* End of UseGps Activity */