Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在android中获取经度和纬度_Android_Locationmanager - Fatal编程技术网

无法在android中获取经度和纬度

无法在android中获取经度和纬度,android,locationmanager,Android,Locationmanager,我正在开发android应用程序,从GPS获取我当前的经度和纬度。 我有以下代码 public class setting extends Activity { TextView longval; TextView latval; @Override public void onCreate(Bundle savedInstanceState){ /** Called when the activity is first created. */ super.onCreate(save

我正在开发android应用程序,从GPS获取我当前的经度和纬度。 我有以下代码

public class setting extends Activity {

TextView longval;
TextView latval;

@Override
public void onCreate(Bundle savedInstanceState){
/** Called when the activity is first created. */
    super.onCreate(savedInstanceState);
    setContentView(R.layout.setting);

    longval = (TextView)findViewById(R.id.longitudefield);
    latval = (TextView)findViewById(R.id.latitudefield);

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

//Location lastLocation = locationManager.getLastKnownLocation(locationManager.GPS_PROVIDER);
LocationListener locationListener = new myLocationListener();

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
class myLocationListener implements LocationListener{

    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
        if(location != null){
            double longitude = location.getLongitude();
            double latitude = location.getLatitude();
            //Toast.makeText(getApplicationContext(), Double.toString(longitude), Toast.LENGTH_SHORT).show();
            longval.setText(Double.toString(longitude));
            latval.setText(Double.toString(latitude));
        }
    }

    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }

    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }

    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

}
我不确定我什么时候把它放进我的手机(Galaxy Nexus)。我在手机顶部的导航栏上看到一个GPS图标。但是,文本字段不会更新以显示我当前的经度和纬度。我想问一下,是我的代码问题还是我的手机问题?我只是在没有移动数据的情况下打开wifi。似乎没有调用onLocationChanged


谢谢大家

使用GPS很难获得Lat,长时间的室内/公寓。GPS提供商使用LocationManager.NETWORK\u提供商代替LocationManager。这将解决您的问题。

很难获得Lat,长时间使用GPS进入房间/公寓。代替LocationManager.GPS\u提供商使用LocationManager.NETWORK\u提供商。这将解决您的问题。

您的代码是正确的。将其安装到设备上后,将您的当前位置更改至少10米。我们从您当前的房间转到至少10米以外的另一个房间。我希望您能得到您的许可输出…

您的代码是正确的。将其安装到设备上后,将您当前的位置更改至少10米。我们将从您当前的房间转到至少10米以外的另一个房间。我希望您将获得您的输出…

提供一个开始。既然“似乎onLocationChanged没有被调用”,你应该检查一下。发布你的日志。有什么明显的错误吗?我只是用仿真器修复了这两个值,它们在仿真器中正确显示了。然而,我无法在我的移动设备上进行更新。当你在建筑物内时,很难获得gps更新。我只是意识到这可能是问题所在。这是否意味着我的代码能够工作?提供一个。既然“似乎onLocationChanged没有被调用”,你应该检查一下。发布你的日志。有什么明显的错误吗?我只是用仿真器修复了这两个值,它们在仿真器中正确显示了。然而,我无法在我的移动设备上进行更新。当你在建筑物内时,很难获得gps更新。我只是意识到这可能是问题所在。这是否意味着我的代码可以工作?我想问一下如何更改为网络提供商的代码。只需更改locationManager.RequestLocationUpdate(locationManager.GPS\u提供程序,0,0,locationListener);到locationManager.RequestLocationUpdate(locationManager.NETWORK_提供程序,0,0,locationListener);}?}是的…如果您使用getLastKnownLocation()方法,他们也使用网络\u提供程序。我想问一下如何更改为网络\u提供程序的代码。只需更改locationManager.RequestLocationUpdate(locationManager.GPS\u提供程序,0,0,locationListener);到locationManager.RequestLocationUpdate(locationManager.NETWORK_提供程序,0,0,locationListener);}?}是的…如果您使用getLastKnownLocation()方法,他们也会使用网络提供程序。。