甚麼是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)
沒有留言:
張貼留言