android - 为什么 GPS_PROVIDER isProviderEnabled 的检查总是 "false"?

标签 android gps

<分区>

我无法确定 GPS 是打开还是关闭,isProviderEnabled 始终为“false”但 GPS 已打开。

public abstract class BaseGPSActivity extends AppCompatActivity{

  @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    Log.v(TAG, " GPS is enabled: "+isGPSEnabled()))

 public boolean isGPSEnabled(){
        String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        if(provider != null)
            Log.v(TAG, " Location providers: "+provider);
        return mLocationManager!=null && mLocationManager.isProviderEnabled( LocationManager.GPS_PROVIDER );
    }

输出是:

V/BaseGPSActivity:  Location providers: network

V/BaseGPSActivity:  GPS is enabled:  false

最佳答案

那是因为需要在设备的设置中勾选“高精度”。该 GPS 提供商将被启用。 enter image description here

关于android - 为什么 GPS_PROVIDER isProviderEnabled 的检查总是 "false"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38370794/

相关文章:

android - 使用 fileTransfer 下载 Ionic 4

android - 如何将 ArrayAdapter 发送到 ListActivity

javascript - 使用 Javascript 保存跟踪的 GPS 数据

javascript - 仅当初始化变量时,“IF”才是启动变量的条件

java - 如何从两个GPS坐标计算方向的角度

android - Android GPS 记录服务的电池耗尽问题

android - 使用 sdp 以编程方式更改边距

android - 对同一帐户进行测试时,应用内审核仅打开一次

android - 使用 mkcert 证书进行 PWA 的本地测试

c# - 找到下一个位置知道纬度/经度/航向/速度