甚麼是Cell ID 和 Location Area Code , 他們的用途是甚麼? 這篇文章說得很清楚了, 那在Android手機上該如何取得呢?其實步驟蠻簡單的 , 只要透過TelephonyManager即可 , 不過TelephonyManager要取得Instance , 一定要透過
Context.getSystemService(Context.TELEPHONY_SERVICE)
.以下是簡單的代碼if(TM.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { GCLocation = (GsmCellLocation) TM.getCellLocation(); if (GCLocation != null) { int CellID = GCLocation.getCid(); int LAC = GCLocation.getLac(); Log.d("CellID",String.valueOf(CellID)); Log.d("LAC",String.valueOf(LAC)); } else Log.d("無法獲得 GsmCellLocation 物件",""); } else Log.d("這不是GSM手機","");
另外在AndoridManifest.xml中要加入一些權限
不過在模擬器上測試的時候回傳的 GCLocation 是 NULL , 畢竟是模擬器....
而這個opencillid網站提供了不少免費的資料 , 有了這些資料之後就算沒有GPS也可以定位了!!!
相關文章:
[Android Tips] 如何使用Google Map 2.0 & 3.0
[Android] 如何藉由Cell ID 和 Locatin Area Code 取得經緯度座標 (by Geolocation API)
沒有留言:
張貼留言