Java Android-SignalStrength是一个事件类吗?
我对SignalStrength Android类有点问题。有没有一种方法可以使用此类中的方法而不在onSignalStrengthChanged()方法中引用此类中的对象? 从我看到的所有示例中,我认为这是一个事件类,该对象是在事件(gsm信号强度的变化)发生时创建的,这是从该类调用方法的唯一方法。我说得对吗Java Android-SignalStrength是一个事件类吗?,java,android,events,class,Java,Android,Events,Class,我对SignalStrength Android类有点问题。有没有一种方法可以使用此类中的方法而不在onSignalStrengthChanged()方法中引用此类中的对象? 从我看到的所有示例中,我认为这是一个事件类,该对象是在事件(gsm信号强度的变化)发生时创建的,这是从该类调用方法的唯一方法。我说得对吗 public void onSignalStrengthsChanged(SignalStrength signalStrength) { String power
public void onSignalStrengthsChanged(SignalStrength signalStrength)
{
String power= String.valueOf(signalStrength.getGsmSignalStrength());
gsmStat.setText("GSM cinr: " +power);
}
如果我想在其他情况下调用此类中的方法(并读取gsm信号属性),例如当我单击按钮对象时,该怎么办
非常感谢你的帮助,我真的被困在这里了
比尔,
Z
谢谢你把这件事弄清楚。我尝试使用getNeighbouringCellInfo,但由于某些原因,此返回0。是的,我搜索并尝试了不同的例子
Tel = ( TelephonyManager )getSystemService(Context.TELEPHONY_SERVICE);
public void onClick(View v) {
List<NeighboringCellInfo> neighCell = null;
neighCell = Tel.getNeighboringCellInfo();
NeighboringCellInfo thisCell = neighCell.get(1);
int thisNeighRSSI = thisCell.getRssi();
String rssi=Integer.toString(thisNeighRSSI);
tvRSSI.setText("Test: " +rssi);
}
Tel=(TelephonyManager)getSystemService(Context.TELEPHONY_服务);
公共void onClick(视图v){
List neighCell=null;
neighCell=Tel.getNeighborringCellInfo();
NeighbringCellInfo thisCell=neighCell.get(1);
int thisNeighRSSI=thisCell.getRssi();
字符串rssi=Integer.toString(thisNeighRSSI);
设置文本(“测试:+rssi”);
}
你不能。获取相关SignalStrength对象的唯一方法是onSignalStrengthChanged方法
但是,您可以使用TelephonyManager.getNeighbouringCellInfo方法列出周围的单元格并获取信号RSSI功率(getRssi)。请参阅:
这在三星设备上似乎不起作用
很抱歉将此作为答案,但我无法对现有答案添加评论
至于我的回答,您可以在服务中自己跟踪RSSI,这样当您按下按钮时,将返回上次记录的RSSI值。话虽如此,我发现在我使用的三星Galaxy上,RSSI值实际上是天线条的数量(即,我只得到4个值),而不是实际的RSSI。是的,我看到了那个,实际上我有三星Galaxy,但让我困惑的是,我在模拟器上测试时得到了这个结果,所以我相信我的代码可能有问题,因为我对这一切都是新手。我要做一个Java版本,我几乎忘记了我所知道的一切:)
getNeighboringCellInfo()