Location sensor 用法 |
缺席
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請問各位:
我這個問題在xe6年代已問過, 但似乎沒有得到答案, 想 到了xe10.1 再請教一次 有關 Location Sensor 的用法我掌握不了 在官方的範例上 (fmx) 設置一個 TSwitch, 在 Switch1.onSwitch Event 中寫 begin LocationSensor1.Active := Switch1.IsChecked end; 然後在 LocationSensor1LocationChanged 取得經緯度值 操作上, 當run app後, 滑動開啟 Switch on, 約莫 0.5秒會出現數值 以上範例沒有任何疑問的地方 但我現在要做是 在 app run起來後, 自動賦予 true, 所以我在onCreate 上寫了 LocationSensor1.Active := True; 但這樣的寫法, Location竟無法取得 gps 後我想, 可能是 Create 過程中, Sensor 還沒有 Ready, 所以改寫在 onActive 上, 一樣取不到 最後我又用另一種寫法, 就是在 onCreate 中加入 Timer的功能, 給予 3-5 秒的等待 在 onCreate 的最後一列加入 Timer1.Enabed := True 來啟動計時 把 LocationSensor1.Active := True 寫在 onTimer1Event , 這次有不一樣的結果 在 htc 手機, 開啟 app 時永遠找不到 gps, Samsumg 手機可以立即找到, 其他白牌也找不到 然而在htc手機, 如果把 Form 開啟關閉幾次, 就能找到 gps 我個人認為, 應該是 timing 的問題, 但好奇的是, 為什麼利用 Switch 方式就能幾乎在瞬間找到 gps, 不要switch, 直接指定 True, 就觸發不了, 不知各位有沒有這方面的經驗, 因為我不想讓user 知道有啟動 gps, 也不想讓user 多一個滑動起動gps 的動作, 謝謝~~ |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
昨天無意問在做測試發現
設置一個 Timer 來取 gps data, 宣告兩組 private 變數 gpsdata1, gpsdata2 : double; onCreate 最後下 begin .... LocateSensor1.Active := True; // 先啟動 sensor Timer1.Enabled := True; end; onTimer1TimerEvent begin Timer1.Enabled := False; label1.text := gpsdata1.toString; label2.text := gpsdata2.toString; end; LocateSensor1.on ChangedEvent begin gpsdata1:= LocateSensor1...... (經度, 老是背不起來單字) gpsdata2:= LocateSensor1.......(緯度, 還是背不起來) LocateSensor1.Active := False; end; 當我設定 Timer 毫秒數 = 2500 在 pc的桌機上 BlueStacker Android 模擬器跑 Form.Create 之後可在3秒內取得data 在 htc10 手機, 取不到 如果我把 Timer 調到 7000 在 htc10手機, 每次首開都可以取到 如果我改變設計, 不要用 Timer 來取值, 也不要在 onCreate 啟動 sensor 就是回到原始, 用 TSwitch 來啟動, 在 Switch1.on ChangeEvent LocateSensor1.Active := Switch1.isChecked; 再用一個 TButton 來取得 Button1.onClick begin label1.text := gpsdata1.toString; label2.text := gpsdata2.toString; end; 如果是這樣的做法, 在 Form Create 完成後, 手動滑動 Switch on 等3秒鐘(人工等待) 再按 Button1 也可以取得 gps data 所以, 看來, gps 取 data 要有一定的Timing, 只是我不解的, 基本3秒是一個下限, 那為什麼利用 onCreate 的做法必須等到 7秒? (以htc10 手機來做標準) |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |