isNetworkEnabled == false 在室内时即使我有 wifi 和移动数据

Posted

技术标签:

【中文标题】isNetworkEnabled == false 在室内时即使我有 wifi 和移动数据【英文标题】:isNetworkEnabled == false when indoor even if i have wifi and mobile data 【发布时间】:2014-04-27 06:28:37 【问题描述】:

我正在使用 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 卡

然而isGPSEnabledisNetworkEnabled 都是假的。

这是为什么呢?

网络提供商应该可用,不是吗?

我的清单权限:

<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" />

【问题讨论】:

【参考方案1】:

当您在设置中启用按网络提供商定位的选项时,以下代码返回 true。

设置/位置/网络提供商。

 isNetworkEnabled = locationManager
            .isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

【讨论】:

我是否需要 如果我已经要求: 如果您指定了第二个权限,则不需要第一个权限。

以上是关于isNetworkEnabled == false 在室内时即使我有 wifi 和移动数据的主要内容,如果未能解决你的问题,请参考以下文章

为啥 == false 评估为 false 而 [] == false 评估为 true?

为啥 false && (false)?false:true 返回 true

console.log(([])?true:false); console.log(([]==false?true:false)); console.log(({}==false)?true:fa

为啥“[False, True] 中的 not(True)”返回 False?

在js中,为啥!0是true,!!0是false,!1是false,!!1是true,!-1是false,!!-1是true

2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true