2012-09-04 38 views
0

我似乎无法删除Android上的地理定位更新事件的侦听器。Flex手机:删除GeolocationEvent.UPDATE不起作用

我想停止对停用地理位置:

NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, onAppDeactivate); 



private function onAppDeactivate(e:Event):void { 

     if (Geolocation.isSupported) { 
      if (geolocation != null) { 
       geolocation.removeEventListener(GeolocationEvent.UPDATE, onGeolocationUpdate); 
       geolocation.setRequestedUpdateInterval(0); 
       geolocation = null; 
      } 
     } 
} 

我开始只是去掉监听器,但由于没有工作,我也试图消除地理位置都在一起。仍然没有运气..

任何提示?

+0

你在哪里定义地理位置变量?你确定它不是null吗?你在哪里定义地理位置?你在哪里添加GeolocationEvent.UPDATE的事件监听器?是什么让你认为听众没有被删除?是什么让你认为Geolocation事件在应用程序停用时触发?这是一个移动应用程序还是桌面应用程序? – JeffryHouser

+0

地理定位是在我的第一个视图viewActivate中定义的一些其他的东西。这也是我为UPDATE添加侦听器的地方。这是一个移动应用程序。我知道它运行代码,并且地理位置不为null,因为我在appDeactivate代码中的每行之后更新了一个变量,并在激活时再次对其进行了检查。但我的android上的地理位置符号不会消失.. – Tinelise

回答

0

我有一个应用程序,也使用地理位置,如果你想要的是节省电池从排水快,你必须调用方法与高价值INTERVAL_MILLIS(在我的情况下,我使用60000是1分钟)。

但是,如(documentation)所说,操作系统将决定GPS的更新间隔,并且我们传递的值为更新间隔提供“提示”。

并且特别是在Android上,只要您启用了GPS(并且会消耗电量),GPS图标就会保持运行状态,但不会因为更新间隔太高而快速耗尽电池电量。

因此,您可以做的最好的事情实际上是当您停用应用程序时请求较长的更新时间间隔。