首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:在文本视图中显示dBm

:在文本视图中显示dBm
EN

Stack Overflow用户
提问于 2012-04-01 08:02:52
回答 1查看 3.6K关注 0票数 1

我正在尝试显示dBm,就像您在下面看到的那样:

Settings>About Phone>Status .

到目前为止,我已经到了应用程序的一点,没有崩溃我。

现在,它只是没有在文本视图中显示任何内容。

我已经看了很多帖子在这里,每一个,是不同的东西,我正在寻找。我以为这只是一个简单的搜索和发现,结果却并非如此。

不知道我在这里做错了什么,在LogCat中没有任何错误--任何人都有任何好主意。

开发人员的引用根本帮不了我,除非它向我展示了它是如何使用/工作的,这样我才能理解它。我尝试过,但失败了,不管怎么说,这是我的代码:

代码语言:javascript
复制
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.NeighboringCellInfo;
import android.telephony.TelephonyManager;
import android.widget.TextView;

public class Screen extends Activity {

    TextView dbm;
    String dBm;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainfull);
        dbm = (TextView) findViewById(R.id.Signal);

        TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

        List<NeighboringCellInfo> NeighboringList = telephonyManager
                .getNeighboringCellInfo();

        for (int i = 0; i < NeighboringList.size(); i++) {

            int rssi = NeighboringList.get(i).getRssi();

            if (rssi == NeighboringCellInfo.UNKNOWN_RSSI) {
                dBm = "Unknown RSSI";
            } else {
                dBm = String.valueOf(-113 + 2 * rssi) + " dBm";
            }

        }

        dbm.setText(dBm);

    }
}

不确定我是否遗漏了任何有用的信息,如果是的话,请告诉我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-01 10:19:30

也许NeighboringList是空的?

您真的想要相邻小区的RSSI还是当前单元的RSSI?要获得当前单元格的RSSI,可以注册this listener

代码语言:javascript
复制
public class AndroidPhoneStateListener extends PhoneStateListener {
    public static int signalStrengthValue;

    @Override
    public void onSignalStrengthsChanged(SignalStrength signalStrength) {
        super.onSignalStrengthsChanged(signalStrength);
        if (signalStrength.isGsm()) {
            if (signalStrength.getGsmSignalStrength() != 99)
                signalStrengthValue = signalStrength.getGsmSignalStrength() * 2 - 113;
            else
                signalStrengthValue = signalStrength.getGsmSignalStrength();
        } else {
            signalStrengthValue = signalStrength.getCdmaDbm();
        }
    }

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

https://stackoverflow.com/questions/9962844

复制
相关文章

相似问题

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