signalStrength.getGsmSignalStrength()是不带SIM卡还赠送价值 [英] signalStrength.getGsmSignalStrength() is giving values without sim-card also

查看:682
本文介绍了signalStrength.getGsmSignalStrength()是不带SIM卡还赠送价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿,我尝试了signalStrength.getGsmSignalStrength()用于GSM和CDMA设备的,但我注意到,无论是设备提供,即使SIM卡没有插入device.I要发出呼叫或者发送消息只有当网络是很好的实力怎么样我能做到这一点?也想知道哪些信号强度此API返回!! ...请尽可能尽快回复。

 公共类AndroidPhoneStateListener扩展PhoneStateListener {
    公共静态INT signalStrengthValue;    @覆盖
    公共无效onSignalStrengthsChanged(SignalStrength signalStrength){
        super.onSignalStrengthsChanged(signalStrength);
        如果(signalStrength.isGsm()){
            如果(signalStrength.getGsmSignalStrength()!= 99)
                signalStrengthValue = signalStrength.getGsmSignalStrength()* 2 - 113;
            其他
                signalStrengthValue = signalStrength.getGsmSignalStrength();
        }其他{
            signalStrengthValue = signalStrength.getCdmaDbm();
        }
    }}


解决方案

我相信这可以帮助你检测SIM卡的可用性:

  TelephonyManager M =(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
如果(m.getSimState()!= TelephonyManager.SIM_STATE_ABSENT){
  // SIM卡
}其他{
  //没有SIM卡
}

此外,你可以阅读<一href=\"http://stackoverflow.com/questions/3981007/to-check-sim-card-is-available-in-android-device\">this

Hey I tried for signalStrength.getGsmSignalStrength() for GSM and CDMA devices but I noticed that both the devices gives strength even when sim is not inserted in device.I want to place a call or send message only if network is good how can I achieve this? And also want to know which signal strength this API returns!!... Please reply as soon as possible.

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

}

解决方案

i believe this may help you to detect Sim card availability:

TelephonyManager m = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
if (m.getSimState() != TelephonyManager.SIM_STATE_ABSENT){
  // SIM card
} else {
  // No SIM card
}

moreover, you may read this

这篇关于signalStrength.getGsmSignalStrength()是不带SIM卡还赠送价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆