我正在尝试显示dBm,就像您在下面看到的那样:
Settings>About Phone>Status .
到目前为止,我已经到了应用程序的一点,没有崩溃我。
现在,它只是没有在文本视图中显示任何内容。
我已经看了很多帖子在这里,每一个,是不同的东西,我正在寻找。我以为这只是一个简单的搜索和发现,结果却并非如此。
不知道我在这里做错了什么,在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);
}
}不确定我是否遗漏了任何有用的信息,如果是的话,请告诉我
发布于 2012-04-01 10:19:30
也许NeighboringList是空的?
您真的想要相邻小区的RSSI还是当前单元的RSSI?要获得当前单元格的RSSI,可以注册this listener
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();
}
}
}https://stackoverflow.com/questions/9962844
复制相似问题