2017-06-01 88 views
-3

我是一名Android开发人员,我正在开发一款应用程序,可以在不使用GPS的情况下定位手机。 我得到了小区ID和相邻小区塔现在需要如何从论文细胞计算距离进行三边测量的目的是利用GSM网络距离Cell塔的距离

任何人可以帮助我如何计算这个的GSM找到我的电话。任何可用于此目的的代码真的很感激。

谢谢大家。

回答

0

为什么不使用LocationManager类?

try { 
    locationManager = (LocationManager) mContext 
      .getSystemService(LOCATION_SERVICE); 

    // getting network status 
    boolean isNetworkEnabled = locationManager 
      .isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

    if (!isNetworkEnabled) { 
     // no network provider is enabled 
    } else { 
     // The minimum distance to change Updates in meters 
     long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters 

     // The minimum time between updates in milliseconds 
     long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute 

     // Get location from Network Provider 
     locationManager.requestLocationUpdates(
       LocationManager.NETWORK_PROVIDER, 
       MIN_TIME_BW_UPDATES, 
       MIN_DISTANCE_CHANGE_FOR_UPDATES, this); 
     Log.d("Network", "Network"); 
     if (locationManager != null) { 
      location = locationManager 
        .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
      if (location != null) { 
       latitude = location.getLatitude(); 
       longitude = location.getLongitude(); 
      } 
     } 

    } 

} catch (Exception e) { 
    e.printStackTrace(); 
} 

进一步的信息可以在这里找到:http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/

LocationManager.NETWORK_PROVIDER

该供应商基于对手机信号塔 和WiFi接入点可用性来确定位置。通过网络 查找结果。

文档: https://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER

+0

**请不要使用**这可怕androidhive的教程...这是非常,非常,非常糟糕 – Selvin

+0

有在网上大量的教程。这是我第一次用NETWORK_PROVIDER在快速搜索后发现的。 – Prexx

+0

@Selvin为什么这是如此可怕?你能否改进另一个答案中的例子? –