【问题标题】:FragmentActivity and LocationListenerFragmentActivity 和 LocationListener
【发布时间】:2013-10-07 14:50:15
【问题描述】:

我尝试在实现 LocationListener 的 FragmentActivity(为了用户 SupportMapFragment)中使用 LocationListener 获取用户的当前位置。

这是我的代码:

private void setLocationManager() {
        if (lm == null)
            lm = (LocationManager) this
                    .getSystemService(Context.LOCATION_SERVICE);

        // exceptions will be thrown if provider is not permitted.
        try {
            gps_enabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
        } catch (Exception ex) {
        }
        try {
            network_enabled = lm
                    .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
        } catch (Exception ex) {
        }

        if (gps_enabled) {
            lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
            Toast.makeText(HomeActivity.this, "Refresh GPS", Toast.LENGTH_SHORT)
                    .show();
        } else {
            lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
                    this);
            Toast.makeText(HomeActivity.this, "Refresh NET", Toast.LENGTH_SHORT)
                    .show();
        }
    }

    @Override
    public void onLocationChanged(Location location) {
        MyCurrentLocation = location;
        Toast.makeText(
                HomeActivity.this,
                "Refresh == my lat : " + MyCurrentLocation.getLatitude()
                        + " my long : " + MyCurrentLocation.getLongitude(),
                Toast.LENGTH_SHORT).show();

    }

    @Override
    public void onProviderDisabled(String provider) {
        Toast.makeText(HomeActivity.this, provider, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onProviderEnabled(String provider) {
        Toast.makeText(HomeActivity.this, provider, Toast.LENGTH_SHORT).show();

    }

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

    }

我遇到的问题是:

  • 被覆盖的方法:onLocationChanged 永远不会使用网络提供商调用
  • 被覆盖的方法:onProviderDisabled 永远不会每次都被调用..

我从不使用:lm.removeUpdate 方法

【问题讨论】:

标签: android google-maps-android-api-2 locationlistener


【解决方案1】:

重启我的三星 Galaxy S3 完成了这项工作..

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    相关资源
    最近更新 更多