Android getCellSignalStrength()始终报告相同的值:-51

Android getCellSignalStrength()始终报告相同的值:-51,android,Android,我试图从我的三星S6读取实际的小区信号强度,但是getDbm()总是返回-51b(类型是WCDMA)。 (我在循环中调用该函数,每次它都是-51。) 我手机的“SIM卡状态”报告-103 dBm(+/-2 dBm)。 除了-51之外,我从未得到其他值 我还尝试使用以下内容安装侦听器: telephonyManager.listen(new SignalStrengthListener(), PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); 但是callb

我试图从我的三星S6读取实际的小区信号强度,但是getDbm()总是返回-51b(类型是WCDMA)。 (我在循环中调用该函数,每次它都是-51。)

我手机的“SIM卡状态”报告-103 dBm(+/-2 dBm)。
除了-51之外,我从未得到其他值

我还尝试使用以下内容安装侦听器:

telephonyManager.listen(new SignalStrengthListener(), PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
但是callbak从来没有人叫过


我再也不知道了。也许您?

您是否已授予访问\u位置权限?是的。但当我删除该权限时,我得到的结果完全相同!我怎样才能确保权限真的被授予了呢?当然,我的意思是在运行时被询问,而不仅仅是在清单中。我的目标sdk版本是21。清单权限应该足够了,不是吗?你是对的,应该足够了,也许你在清单中缺少了其他权限..你是否授予了访问\定位权限?是的。但当我删除该权限时,我得到的结果完全相同!我怎样才能确保权限真的被授予了呢?当然,我的意思是在运行时被询问,而不仅仅是在清单中。我的目标sdk版本是21。清单权限应该足够了,不是吗?你是对的,应该足够了,也许你在清单中遗漏了其他权限。。?
telephonyManager.listen(new SignalStrengthListener(), PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);