首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android 3G信号强度

android 3G信号强度
EN

Stack Overflow用户
提问于 2012-10-01 21:25:07
回答 4查看 16K关注 0票数 1

为什么在3g模式下,我们必须设置一个监听器才能得到单个当前小区的信号强度?

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

为什么我们不能像那样得到当前单元的信号强度?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-04 21:11:07

我们必须实现listener来获得当前单元的信号强度,我已经编写了listener,并在第一次读取时停止了listener,然后将其保持在变量中。不,没有其他方法。

票数 3
EN

Stack Overflow用户

发布于 2012-10-01 21:29:14

尝试以下代码:

代码语言:javascript
复制
    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));
            }
        }
    };
票数 7
EN

Stack Overflow用户

发布于 2013-04-03 14:52:39

我试图使用"Hazmat“代码,但不幸的是在我的设备上不起作用(三星S3迷你安卓4.1.2)。似乎三星的一些手机在这个功能上有问题,三星没有人关心这一点。Also other Samsung models have similar problem

三星Galaxy SI ->没有问题

三星Galaxy SII ->无强度且无更新

三星Galaxy Tab 10.1 ->无强度且无刷新

三星Galaxy Note ->无强度,无更新

(Android版本: 2.3.3、2.3.4、2.3.5、3.1)

还报告了herehere

结论:请注意,许多三星设备不能正常使用此功能!我不知道有任何解决方法。三星让我们的应用变得不可靠。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12674216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档