2

如何在不使用监听器的情况下获取当前的 CDMA 信号强度?如果信号电平发生变化,我不需要更新。研究我还没有看到解决方案。如果它只在改变时才显示出来,那么顶部的信号电平条是如何工作的?我只需要对与条形相关的细胞信号强度进行非常粗略的估计。

ConnectivityManager cm=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
int CDMAdb=cm.SignalStrength.getCdmaDbm();  
4

1 回答 1

0

我不使用与调制解调器/RIL 相关的东西,但由于手机在启动时会尝试连接到网络,我猜想显示信号强度的状态栏会在启动后立即开始监听信号强度变化。
您还可以通过实现一个在引导完成时自动启动并注册一个PhoneStateListener接收onSignalStrengthsChanged回调的服务来做到这一点。接收到第一个回调之前的初始信号强度值由您决定(最小强度似乎是一个合理的初始值)。然后,您的活动可以在需要时向服务查询当前信号强度(通过意图/绑定器/其他)。

于 2013-01-09T18:11:37.093 回答