我正在为我的android设备开发一个系统拨号程序,它可以使用蓝牙连接的手机拨打电话。所以我需要知道sim卡是否插入或者至少是它的手机信号水平。我需要这个显示一个特殊的通知“没有sim卡”。
zengzsys1#
您可以使用电话管理器和电话状态侦听器。
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); tm.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); class MyPhoneStateListener extends PhoneStateListener { @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); int signalSupport = -signalStrength.getCdmaDbm(); Log.d(getClass().getCanonicalName(), "gsm signal--> " + signalSupport); if (signalSupport < 90) { Log.d(getClass().getCanonicalName(), "Signal GSM : Good"); } else if (signalSupport < 100) { Log.d(getClass().getCanonicalName(), "Signal GSM : Avarage"); } else if (signalSupport < 110) { Log.d(getClass().getCanonicalName(), "Signal GSM : Weak"); } else if (signalSupport < 120) { Log.d(getClass().getCanonicalName(), "Signal GSM : Very weak"); } else { //120 -> no sim/signal Log.d(getClass().getCanonicalName(), "Signal GSM : Null"); } } }
1条答案
按热度按时间zengzsys1#
您可以使用电话管理器和电话状态侦听器。