【问题标题】:Getting 'Provider is not enabled | ProviderError{provider='network'}' on calling 'tracker.startListening();' even when WiFi is enabled获取'未启用提供者| ProviderError{provider='network'}' 调用'tracker.startListening();'即使启用了 WiFi
【发布时间】:2017-05-03 12:41:18
【问题描述】:

我正在使用this 库并尝试像这样检索当前位置坐标:

settings =
                new TrackerSettings()
                        .setUseGPS(false)
                        .setUseNetwork(true)
                        .setUsePassive(true)
                        .setTimeBetweenUpdates(30 * 60 * 1000);

        tracker = new LocationTracker(getBaseContext(), settings) {
            @Override
            public void onLocationFound(Location location) {
                // Do some stuff
                currentLatDouble = location.getLatitude();
                currentLngDouble = location.getLongitude();
            }

            @Override
            public void onTimeout() {

            }
        };
        tracker.startListening();

但是,我收到了这个错误:

W/LocationTracker: Provider (network)
                   fr.quentinklein.slt.ProviderError: Provider is not enabled | ProviderError{provider='network'}

WiFi不是网络提供商还是我也需要写一些与LocationManager相关的代码?

请告诉我这里出了什么问题。

【问题讨论】:

  • @Nas 是的,我也在那里打开了一个问题。
  • 在那个库中它有 android.permission.ACCESS_FINE_LOCATION 只能尝试添加 wifi 状态访问权限
  • @Nas 即使在添加 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 后也会出现相同的错误

标签: android android-location locationmanager


【解决方案1】:

在清单文件中添加以下权限

<uses-permission android:name="android.permission.INTERNET" />
Allows applications to open network sockets.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Allows an app to access approximate location.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Allows an app to access precise location.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Allows applications to access information about networks.
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Allows applications to access information about Wi-Fi networks.

另外

<uses-feature
    android:name="android.hardware.location.network"
    android:required="false" />
<uses-feature
    android:name="android.hardware.location.gps"
    android:required="false" />

【讨论】:

  • 你是在设备还是模拟器中运行它?你的操作系统版本是多少?
  • 我在设备上运行它
  • 你的操作系统版本是多少?你的wifi启用了吗?
  • android marshmallow 是的,WiFi 已启用,我已经检查了权限并授予了它。
猜你喜欢
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多