Android网络提供商RSSI:在textview中显示dBm

Android网络提供商RSSI:在textview中显示dBm,android,android-2.3-gingerbread,Android,Android 2.3 Gingerbread,我正试图显示dBm,正如您在下面看到的: 设置>关于手机>状态 到目前为止,我已经到了应用程序不会崩溃的地步 现在,它不会在文本视图中显示任何内容 我看了这里的很多帖子,每一篇都和我要找的不同。虽然这将是一个简单的搜索和查找,但事实证明并非如此 不确定我在这里做错了什么,LogCat中没有错误任何人都有任何很棒的想法 开发人员参考对我没有任何帮助,除非它向我展示了它是如何使用/工作的,以便我能够理解它。我试过了,但失败了,哈哈,我的代码如下: import java.util.List; im

我正试图显示dBm,正如您在下面看到的:

设置>关于手机>状态

到目前为止,我已经到了应用程序不会崩溃的地步

现在,它不会在文本视图中显示任何内容

我看了这里的很多帖子,每一篇都和我要找的不同。虽然这将是一个简单的搜索和查找,但事实证明并非如此

不确定我在这里做错了什么,LogCat中没有错误任何人都有任何很棒的想法

开发人员参考对我没有任何帮助,除非它向我展示了它是如何使用/工作的,以便我能够理解它。我试过了,但失败了,哈哈,我的代码如下:

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);

    }
}
import java.util.List;
导入android.app.Activity;
导入android.content.Context;
导入android.os.Bundle;
导入android.telephony.neightringcellinfo;
导入android.telephony.TelephonyManager;
导入android.widget.TextView;
公共类屏幕扩展活动{
文本视图数据库管理;
字符串数据库管理;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mainfull);
dbm=(TextView)findViewById(R.id.Signal);
TelephonyManager TelephonyManager=(TelephonyManager)getSystemService(Context.TELEPHONY_服务);
List NeightringList=电话管理员
.getNeightringCellInfo();
对于(int i=0;i

不确定我是否遗漏了任何可能有用的信息,如果是,请让我知道

也许
邻居列表
是空的

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


你已经添加了这个
android.Manifest.permission.ACCESS\u rough\u UPDATES
permission?不,我在那里有位置,我会试试看
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();
        }
    }

}