2010年11月22日 星期一

[Android] 如何取得手機的Cell ID 和 Location Area Code



甚麼是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)

沒有留言:

張貼留言

Google Analytics