簡體   English   中英

如何檢測“無運營商” SIM卡模式?

[英]How to detect “no carrier” SIM card mode?

如何檢測GSM信號強度低和蜂窩網絡丟失的時間? 那么雙SIM卡設備呢?

Android:如何檢測“無運營商” SIM卡模式?

PhoneStateListener類旨在實現此目的。 使用它時,綁定到當前提供商的GSM信號發生變化時,您可以獲取回調。

確保清單文件中設置了以下android.intent.action.PHONE_STATE

接下來,您需要調用TelephonyManager並將其PhoneStateListener綁定到它:

TelephonyManager telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 
telManager.listen(this.phoneListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);

您可以像這樣實現PhoneStateListener

private final PhoneStateListener phoneListener = new PhoneStateListener() {

    @Override
    public void onSignalStrengthsChanged(SignalStrength signalStrength) {
        Log.d("onSignalStrengthsChanged", "The new singal strength is " 
                + signalStrength.getGsmSignalStrength());
    }

};

GSM信號強度值在TS 27.007 8.5中定義。 基本上,0值 ,31值 ,而99值意味着未知或不可檢測 Android開發人員手冊中所述,有效值為(0-31,99)。

上面介紹了GSM信號,因此,如果您僅對GSM信號感興趣,請遵循我之前的示例。 如果由於信號強度不足而對說明數據網絡是否可用感興趣,您還可以獲取所有可用數據網絡的其他信號值:

通過調用TelephonyManager.getNetworkType()方法,您可以知道當前數據網絡的類型。

那么雙SIM卡設備呢?

我不知道,從未對它們進行過工作。 但是,我不明白為什么以上內容可能不適用於多SIM卡設備。 它應該這樣工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM