2013-04-08 97 views
0

我有一个简单的问题。作为Android开发者Documentation状态:onLocationChange是否自己调用

您可以控制在哪些监听器接收更新 与 第二个和第三个参数的第二频率 通知和第三之间的最小时间间隔的最小变化 通知之间的距离 - 尽可能频繁地将零请求位置通知设置为 。

但我从来没有见过onLocationChange自己调用。 onLocationChange是否自己调用过。无论是按时间还是按距离计算。如果是的话,它是如何被复制的。

我已经在我的代码locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 200000, 100, locListener);

location加入这一行本身不改变。我是否还需要添加其他一些内容?

+0

试试这个:locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,20万,100,这一点);你使用onLocationChanged方法吗? – 2013-04-08 10:59:09

+0

“本身”意味着什么?什么都不能自行调用。当GPS接收器设备接收到更新时,Android会在您的侦听器上调用onLocationChanged()。通过提供频率值,您可以控制此设备应该多久查找一次更新。 – Egor 2013-04-08 10:59:48

+0

@ ling.s我的列表器是不同的类,所以我必须通过我的列表器的实例,所以我不认为我需要通过这个。无论如何感谢您的意见 – random4Infinity 2013-04-08 11:01:40

回答

0

您必须添加该事件。

`LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
locListener = new LocationListener() { 
     public void onLocationChanged(Location location) { 
       try { 

        lat = location.getLatitude(); 
        lon = location.getLongitude(); 


        mapView.getController().setCenter(new GeoPoint(lat, lon)); 
        //or something 


       } 
       catch (NullPointerException e){ 
        lat = -1.0; 
        lon = -1.0; 
       } 
     }` 


并把它在一些事件中添加(的onCreate,的onClick等..)

+0

我完全是这样做的。但onLocationChange()永远不会再被调用,我也添加了这个'locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,120000,100,locListener);' – random4Infinity 2013-04-08 11:06:23

相关问题