【问题标题】:isProviderEnabled always return true for network providerisProviderEnabled 始终为网络提供商返回 true
【发布时间】:2016-04-11 17:58:25
【问题描述】:

您好,我正在开发小型 android 应用程序,我正在尝试检查网络提供商是否启用。如果没有,则寻找 GPS 提供商。但在我的情况下,网络提供商总是返回 true。我尝试以下列方式进行检查

    if (locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
getLastLocation(LocationManager.NETWORK_PROVIDER);

} else if (locManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0, this);
getLastLocation(LocationManager.GPS_PROVIDER);
}

在上面的代码中,网络提供者总是返回 true。即使我没有任何网络提供商。我做错了什么吗?需要一些帮助。谢谢。

【问题讨论】:

  • 你也没有wifi?
  • 是的,我也没有wifi,设置wifiscanning always available也禁用了。

标签: android gps location locationmanager


【解决方案1】:

为了禁用网络定位,您必须将定位模式设置为关闭或仅 GPS。

所以,isProviderEnabled(LocationManager.NETWORK_PROVIDER) 要返回 false,它需要看起来像这样(完全禁用):

或者这个(启用位置,仅限 GPS):

要查看它在 KitKat 上的外观,请参见此处: https://stackoverflow.com/a/30580898/4409409

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    相关资源
    最近更新 更多