安卓3G信号强度

标签 android

3g模式下为什么要设置listener才能获取当前单个小区的信号强度?

我们使用 NeghbouringcellInfo 类获取相邻小区的信号强度?

为什么这样获取不到当前小区的信号强度?

最佳答案

试试下面的代码:

    ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
    boolean is3g = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();


    if (is3g) {
        myListener = new MyPhoneStateListener();
        TelephonyManager telManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
        telManager.listen(myListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
    }

    private class MyPhoneStateListener extends PhoneStateListener {
        public int singalStenths = 0; 
        @Override
        public void onSignalStrengthsChanged(SignalStrength signalStrength){
            super.onSignalStrengthsChanged(signalStrength);
            int singalStrength  = signalStrength.getGsmSignalStrength();
            singalStenths = signalStrength.getGsmSignalStrength();
            System.out.println("----- gsm strength" + singalStrength );
            System.out.println("----- gsm strength" + singalStenths );

            if (singalStenths > 30) {
                signalstrength.setText("Signal Str : Good");
                signalstrength.setTextColor(getResources().getColor(R.color.good));
            }
            else if(singalStenths > 20 && singalStenths < 30) {
                signalstrength.setText("Signal Str : Average");
                 signalstrength.setTextColor(getResources().getColor(R.color.average));
            }
            else if(singalStenths < 20) {
                signalstrength.setText("Signal Str : Weak");
                 signalstrength.setTextColor(getResources().getColor(R.color.weak));
            }
        }
    };

关于安卓3G信号强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12674216/

相关文章:

android - 将 Android 应用程序限制为运营商

java - 暂停和恢复井字游戏获胜动画

java - 如何在等待 Web 服务响应时显示 "loading..."消息

android - 当图片从编辑个人资料 fragment 更改时更新抽屉导航中的个人资料图片

android - 在广播接收器中获取 ACTION_HEADSET_PLUG 需要哪些权限

android - 如何从android中的条形码显示值中获取完整的产品信息?

android - 错误 : unknown tag <:string> in my app

Android - Kotlin : return value in async fun

android - 在横向模式下视频 View 不是全屏

android - 地理编码结果而不在 map 上显示它们