android - locationManager.getBestProvider

标签 android gps location location-provider

我正在开发一个使用位置的应用程序。

我的问题:
当我寻找最好的提供商时,我只得到“网络”。
我知道为什么,但我不知道如何改进。
在位置设置中,当我检查“参数 -> 位置”和“安全设置 -> 使用无线网络”时,LocationManager.getBestProvider() 仅返回网络。当未选中且 GPS 处于 Activity 状态时,getBestProvider 返回 GPS。

我想做的是:
选中这两个选项后,如何使用/检测 GPS(而不是网络)作为位置提供程序。

最佳答案

您必须首先检查 GPS 是否打开。如果打开则从 GPS 获取位置,如果未打开则从网络获取位置。
要检查 GPS 状态,请使用:

manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE );
boolean statusOfGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);

关于android - locationManager.getBestProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9498409/

相关文章:

android - 更改Android DatePickerDialog中日期、星期、月份的显示格式

android - 使用Robolectric运行JUnit测试时出现Gradle和Android Studio问题

Eclipse 中的 Android 项目不允许我访问 bin 文件夹

java - Android Studio 在 findViewById 上崩溃

android - GPS 在关闭并重新打开 Android 上的应用程序后不更新位置

android - 尝试将Youtube Data API集成到android应用中时出现com.android.dex.DexException

c++ - 从位集中读取位值并传输到字节数组

Android getBestProvider 从不返回 GPS

java - JPanel设置位置

java - Android 中 LocationManager 的位置返回 null