首先,我知道的LocationManager沒有在的AsyncTask被稱爲它已經不阻塞UI :)的Android的LocationManager中的AsyncTask
我有 1.獲取用戶當前位置 2的活動。調用Web服務來檢索該位置周圍特定POI的列表。
用戶可以選擇使用TabActivity作爲地圖或列表查看結果。考慮到AsyncTask獲取用戶位置和調用web服務是由TabActivity視圖管理的,而不是任何一個停靠的視圖。
所以我想讓TabActivity啓動一個AsyncTask,它首先獲取用戶位置,然後調用webservice。進度對話框阻止在此過程中使用選項卡切換視圖。
除了從AsyncTask獲取用戶位置之外,幾乎所有工作都在進行。編寫web服務代碼,編寫映射和覆蓋代碼,任務進度對話框適應方向更改。
對位置的關注是速度而不是準確性。如果用戶選擇在地圖視圖上查看結果,那麼我將提供一個「我的位置」按鈕,以便獲得更準確的位置。我只想初步得到一個粗略的位置並快速返回搜索結果。
也許我正在以這種錯誤的方式去做。也許我應該顯示地圖視圖,讓地圖活動找到當前位置,然後調用異步中的web服務 - 但是如果用戶在位置階段點擊列表視圖選項卡,該怎麼辦?我也準備允許用戶指定他們的默認視圖 - 有些人可能更喜歡列表到地圖。在這種情況下,我會有一個不得不檢索位置的列表視圖。
感謝您的任何建議 馬丁。