我正在使用 Nexus5 获取当前位置(我在室内)。
// getting GPS status
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
// getting network status
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!isGPSEnabled && !isNetworkEnabled) {
// no network provider is enabled
Log.e(MyLogger.TAG, "Non providers are enabled");
我有 WiFi 和移动数据。
我在该设备中有一个有效的 SIM 卡
但是 isGPSEnabled
和 isNetworkEnabled
都是 false。
这是为什么?
网络提供商应该可用,不是吗?
我的 list 权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.example.manyexampleapp.gcm.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
顺便说一句,我需要吗
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
如果我已经要求:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
最佳答案
当您在设置中启用“按网络提供商定位”选项时,以下代码将返回 true。
设置/位置/网络提供商。
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
关于java - 即使我有 wifi 和移动数据,在室内时 isNetworkEnabled == false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23320160/