奇怪的LocationListener通过GPS提供商行为Android:“updateGps:GPS已启用,但未收到修复”

时间:2011-11-28 15:55:50

标签: android gps android-location

我的应用程序在通过LocationListener获取用户GPS位置方面运行良好。我可能已经改变了一些东西,但它已不再适用了。

该错误似乎与提供者LocationManager.GPS_PROVIDER有关,如果我使用的是LocationManager.NETWORK_PROVIDER则可以。所以我认为这个问题与GPS有关。我可以在日志中看到一些奇怪的东西:

1-28 16:52:23.120: D/StatusBarPolicy(2815): [GPS ICON] updateGps : GPS is on, but not receiving fixes

清单中的权限是可以的:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

我找不到更多相关信息。

我已经在我的Eclipse和设备上尝试过基本的清理/重启(我没有在模拟器上测试)。我要生气了,有没有人知道在此之前要尝试什么?

编辑:

这是一些不起作用的愚蠢的简单代码。我错过了什么吗?

package com.mytest;

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.util.Log;

public class GPSTestActivity extends Activity implements LocationListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LocationManager locationManager = (LocationManager) this
                .getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

        Log.v("test", "launched");
    }

    @Override
    public void onLocationChanged(Location location) {
        Log.v("test", "location received ! "+location.getLatitude()+";"+location.getLongitude());
    }

    @Override
    public void onProviderDisabled(String provider) {
        Log.v("test", "location provider disabled");

    }

    @Override
    public void onProviderEnabled(String provider) {
        Log.v("test", "location provider enabled");

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        Log.v("test", "location provider status changed");

    }
}

编辑:请参阅Daniele的回答评论

1 个答案:

答案 0 :(得分:1)

你在建筑物内吗?可能是GPS根本无法修复?如果它以前工作(可能),因为你正在从GPS读取最后一个已知位置。您的问题描述让我觉得没有问题......

丹尼尔