android - 你如何让 Android LocationManager 使用 Cell 网络而不是 Wifi 网络?

标签 android wifi cell locationmanager

我有一个使用 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/

相关文章:

android - 如何让 cordova 允许从与我的网络应用程序相同的托管通过 https 下载 pdf?

java - Android应用程序通信串口数据

java - 状态栏中的通知图标在少数 Android 设备中没有变化

jquery - 为 Web 应用程序保护 WIFI

ios - uitableViewCell.rounded Corners 不会立即显示

android - 如何在 Android 手机上安装 APK 文件?

java - 从 WiFi 连接切换到 3g 会导致连接挂起?

java - Android WiFi收发信息

matlab - 迭代 matlab 单元格

java - 如何在java中使用selenium webdriver查找特定的表元素?