/**
* Called when the signal strength has changed
*
* @param signalStrength
* strength of the newly detected signal. First, we get the ASU
* by calling getGsmSignalStrength(), then we calculate the dBm
* through dBm = -113 + 2* ASU
* @see android.telephony.PhoneStateListener#onSignalStrengthsChanged(android.telephony.SignalStrength)
*/
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
int strength, signal;
// signal strength in ASU
strength = signalStrength.getGsmSignalStrength();
// convert ASU in dBm
signal = -113 + 2 * strength;
// has anything changed?
if (signal != oldcellStrength) {
// convert ASU into bars
if (strength <= 2 || strength == 99)
oldcellStrength_bar = 0;
else if (strength >= 12)
oldcellStrength_bar = 4;
else if (strength >= 8)
oldcellStrength_bar = 3;
else if (strength >= 5)
oldcellStrength_bar = 2;
else
oldcellStrength_bar = 1;
oldcellStrength = signal;
// stuff can be read now
signal_read = true;
bar_read = true;
// release semaphores
signal_semaphore.release();
bar_semaphore.release();
}
}
CellHandler.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:myStress
作者:
评论列表
文章目录