2012-09-04 76 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圖標就會保持運行狀態,但不會因爲更新間隔太高而快速耗盡電池電量。

因此,您可以做的最好的事情實際上是當您停用應用程序時請求較長的更新時間間隔。