作者cavitylapper (狼子野心)
看板AndroidDev
標題[問題] 如何偵測室內或室外(GPS provider)
時間Sat May 4 13:08:11 2013
以下都是設定中的GPS有開啟但AGPS(network provider那個)沒開的狀況
當在室內的時候 直接對GPS provider要location
會拿到null 這個...沒有問題...
可是
若這支手機曾經在室外使用過 GPS provider 並成功定到位
然後這支手機移動到室內後
再去跟GPS provider要location
反而不是null了 而是會一直拿到室外定位得到的位置
這似乎是因為我使用的是getLastKnowLocation的關係
但我不知道有沒有其他的方法取得座標或偵測這樣的狀況
總之 這樣跟我要的結果不太一樣...
我原本是希望 "若使用者到室內後 顯示GPS無法使用"之類的
我有考慮過使用getTime來用 不過這樣的話變成是我要自己決定一個timeout
有沒有更好的辦法呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.4.56
1F:推 arenda:.isProviderEnabled(LocationManager.GPS_PROVIDER) 這個嗎 05/04 14:39
2F:→ cavitylapper:isProviderEnabled沒辦法偵測移動到室內... 05/04 15:52
3F:→ gpc:拿精確度 DOP? 05/05 00:39
4F:→ gpc:精確度下降表示移動到市內? 05/05 00:39
5F:推 kingstong:嘿!這不是光數位的技術,包含了類比,就像手機觸碰面版一 05/05 14:58
6F:→ kingstong:一樣,然後手機感應到再轉數位 05/05 14:59
7F:推 priv:直接抓衛星呢 05/05 21:38
8F:→ cavitylapper:要怎麼直接抓衛星呢?? 05/05 22:28
9F:→ cavitylapper:我好像沒看到相關的api或method 05/05 22:28
10F:→ priv:參考看看 GPS_EVENT_SATELLITE_STATUS 和 getSatellites() 05/05 22:41
11F:推 kingstong:衛星能抓到房子這樣的精準度嗎?!小心喔,這已經是國防科 05/06 11:55
12F:→ kingstong:技的程度了喔,美國有用飛彈搭衛星定位去搞狙殺喔!只是 05/06 11:56
13F:→ kingstong:上面搭載的只是一般火藥而已 05/06 11:57
14F:→ f1234518456:民用的有放到這麼精密的精準度嗎... 05/06 11:59
15F:→ lovelycateye:LocationListener.onStatusChanged 這個踹踹? 05/06 14:27
16F:→ priv:民用誤差 10M 05/06 18:02
17F:→ cavitylapper:k大好像做了過多的聯想了XD 05/06 20:43
18F:→ cavitylapper:另外 抓衛星理論上可行 可是我實做後不管怎樣一直都 05/06 20:44
19F:→ cavitylapper:只抓到0顆 明明經緯度都定到了orz 05/06 20:44
20F:→ cavitylapper:查到的範例都要用GpsListener 我想直接讀不行嗎= =? 05/06 20:45
21F:→ cavitylapper:另外 onStatusChanged我也曾經考慮過 05/06 20:45
22F:→ cavitylapper:可是 0,1,2這三個status我找不到文件說明什麼時候會 05/06 20:46
23F:→ cavitylapper:變化... 05/06 20:46
24F:→ cavitylapper:現在只好先暫時用time out了.... 05/06 20:46
25F:推 charlesdc:0顆可能是指可視線15度角以上的0顆 你換時間再試試 05/07 00:41
26F:→ charlesdc:也許啦~~XD 05/07 00:42
27F:→ charlesdc:要註冊事件是因為GPS還沒定位完怎麼會有座標哩? 05/07 00:43
28F:→ charlesdc:當然是收他call back的method阿 05/07 00:43
29F:→ charlesdc:另外某K說的事不會發生 軍用頻道是加密的 05/07 00:44
30F:→ charlesdc:一般的接收晶片也接生不到軍用頻道的訊號 05/07 00:45