Android位置在后台

时间:2011-10-03 10:08:47

标签: android geolocation

我是java / android应用程序的新手,我正在创建一个使用用户位置的应用程序。我希望在应用程序开始时更新位置。 问题是我的位置类是一个活动,我不想为这个类显示另一个内容视图。 实际上,我希望在一个单独的类中,在不改变UI的情况下在后台完成位置事务。

有可能吗?怎么样?

谢谢:P

2 个答案:

答案 0 :(得分:4)

没有必要将位置放在不同的活动中,LocationManager已经在后台执行:

public void getLocation(){
    lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    gpsLocationListener = new LocationListener() {

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

        }

        @Override
        public void onProviderEnabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderDisabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onLocationChanged(Location location) {
                    //do something with the new location
        if (location != null)
            gpsLocation = location;

        }
    };

      gpsLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);


      lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 0, gpsLocationListener);



}

答案 1 :(得分:3)

使用LocationManager,您应该可以使用您想要的任何类型的活动(或服务)。