位置服务在模拟器中工作,但在真正的Android设备上没有?

时间:2012-09-03 21:09:26

标签: android

我想获得用户的位置,所以我有这个代码:

LocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        // Register the listener with the Location Manager to receive location updates
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MINIMUM_TIME_BETWEEN_UPDATES,
                MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, this);

        Log.d("locationManager ", "locationManager ");

        /*
         * try to get last know location
         */
        Location location = locationManager
                .getLastKnownLocation(LocationManager.GPS_PROVIDER);

public void onLocationChanged(Location location) {
    this.location=location;

而不是我发送geo fix:

geo fix -122.41914 37.77919

它在模拟器中运行良好,但是当我在真实设备上尝试时。它不起作用,我看到设备上的GPS图标闪烁。注意:GPS已在设备上启用。

我的问题是:

  • 我是否需要首先签署申请,或将其放在Google Play上,以便应用在设备上运行。因为我刚刚通过电子邮件将应用程序发送到设备。

  • 您是否有一个位置服务工作示例的链接,以便我可以在设备上安装和测试它是否有不同的行为。

1 个答案:

答案 0 :(得分:1)

我认为问题在于您的设备需要很长时间才能获得GPS修复。您可能需要等待几分钟(闪烁的GPS图标表示该设备正在尝试进行GPS修复)。