我有一个使用 LocationManager 的 Android 应用程序获取手机网络位置而不是 Wifi 位置?如果我关闭了 Wifi 天线并执行以下操作:
LocationManager lm = (LocationManager) paramContext.getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
我总是返回 Wifi 位置而不是手机网络位置。我希望它返回小区位置,因为我已经离开 Wifi 位置。我尝试使用 LocationListener,但这似乎没有帮助。
这是在运行 Froyo 的 HTC Evo 上运行的。
谢谢!
最佳答案
我不相信你可以。
网络位置提供商会查看 wifi 状态和手机状态,如果太旧则丢弃一个,或者通过 MASF 服务器将它们都发送到 Google 位置服务器 (GLS)。那里所做的一切都是神奇的。但是您可以查看 NetworkProvider 的实现并了解如何调整您的代码。代码在这里:NetworkLocationProvider .
如果您只需要小区 ID,请查看 Telephony Manager。添加PhoneStateListener那里。
关于android - 你如何让 Android LocationManager 使用 Cell 网络而不是 Wifi 网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3970046/