2010-11-09 86 views

回答

2

當然,如果是你的LocationListener - onLocationChanged()是一種公開的方法;只需使用手邊的任何位置對象(可能讓您的位置監聽器將其緩存在某處),或使用LocationManagergetLastKnownLocation方法抓取從特定提供商看到的最後一個位置,然後用onLocationChanged()調用該位置對象)。

+0

這看起來不錯,但由於該類在另一個類中,我想從別處調用它,所以我選擇將代碼移到超類的公共函數中,然後從監聽器調用它。謝謝! – cambraca 2010-11-09 05:31:31

1

您可以使用LocationManagersetTestProviderLocation方法模擬新位置,並在需要時調用已註冊監聽器的onLocationChanged方法。您需要檢查reference page。你也有一個例子here

+0

我真的不想做模擬位置。我想在應用程序中發生其他事情時觸發偵聽器中的代碼。 – cambraca 2010-11-09 04:50:08

+0

如果要執行與位置更改完全無關的代碼,則不應在位置偵聽器中包含該代碼。我的回答說明瞭如何在沒有任何實際位置變化的情況下手動觸發註冊的偵聽器 – mgv 2010-11-09 04:52:34

+0

嗯,你可能是對的。我只是認爲可能有這樣做的方式(因爲它不完全與位置變化無關) – cambraca 2010-11-09 04:55:02