首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FragmentActivity和LocationListener

FragmentActivity和LocationListener
EN

Stack Overflow用户
提问于 2013-10-07 14:50:15
回答 1查看 625关注 0票数 0

我试图在实现LocationListener的FragmentActivity (以便用户SupportMapFragment)中使用LocationListener获取用户的当前位置。

这是我的密码:

代码语言:javascript
复制
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

    }

我的问题是:

  • overriden方法:从不使用网络提供者调用onLocationChanged
  • overriden方法:从不每次调用onProviderDisabled。

我从不使用: lm.removeUpdate方法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-09 16:33:54

我的三星Galaxy S3重新启动完成了这一任务。

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19227951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档