0

创建了一个基于位置警报的应用程序。在模拟器上一切正常。但是在真实设备中会出现以下错误。

设想:

开启GPS。在手机中打开我的应用程序。状态栏中没有 GPS 符号。应用程序强制关闭。

为了解决这种情况,我正在做以下事情

打开任何应用程序,如地图、GPS Essentials。我的 GPS 值正在修复。之后打开我的应用程序。应用程序运行良好。

提供以下必要的代码:

在我的 Oncreate 方法中

fixlocation = orgManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);


@Override
protected void onResume() {
    super.onResume();
    orgManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1000, this);
    orgManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 1000, this);
    mo.enableCompass();
    mo.enableMyLocation();
}

/** Stop the updates when Activity is paused */
@Override
protected void onPause() {
    super.onPause();
    orgManager.removeUpdates(this);
    mo.disableCompass();
    mo.disableMyLocation();
}



@Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub

        //orgManager.removeUpdates(this);

        if (location != null) {
            currLatitude = location.getLatitude();
            currLongtitude = location.getLongitude();
}}

我现在需要做什么?

4

1 回答 1

0
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

currLat = location.getLatitude();
currentLang = location.getLongitude();

试试这个来获取当前位置。

onLocationChanged 只会在您的设备位置发生变化时调用,但

当您的应用程序第一次启动时,您可以使用此代码。

于 2012-05-30T14:25:35.693 回答