1. 程式人生 > >android SIM卡狀態監聽TelephonyManager

android SIM卡狀態監聽TelephonyManager

/*
監聽sim狀態改變的廣播,返回sim卡的狀態, 有效或者無效。
雙卡中只要有一張卡的狀態有效即返回狀態為有效,兩張卡都無效則返回無效。
*/
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;

public class SimStateReceive extends BroadcastReceiver {
private final static String ACTION_SIM_STATE_CHANGED = “android.intent.action.SIM_STATE_CHANGED”;
private final static int SIM_VALID = 0;
private final static int SIM_INVALID = 1;
private int simState = SIM_INVALID;

public int getSimState() {  
    return simState;  
}  

@Override  
public void onReceive(Context context, Intent intent) {  
    System.out.println("sim state changed");  
    if (intent.getAction().equals(ACTION_SIM_STATE_CHANGED)) {  
        TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);   
        int state = tm.getSimState();  
        switch (state) {  
        case TelephonyManager.SIM_STATE_READY :  
            simState = SIM_VALID;  
            break;  
        case TelephonyManager.SIM_STATE_UNKNOWN :  
        case TelephonyManager.SIM_STATE_ABSENT :  
        case TelephonyManager.SIM_STATE_PIN_REQUIRED :  
        case TelephonyManager.SIM_STATE_PUK_REQUIRED :  
        case TelephonyManager.SIM_STATE_NETWORK_LOCKED :  
        default:  
            simState = SIM_INVALID;  
            break;  
        }  
    }  
}  

}

相關推薦

android SIM狀態TelephonyManager

/* 監聽sim狀態改變的廣播,返回sim卡的狀態, 有效或者無效。 雙卡中只要有一張卡的狀態有效即返回狀態為有效,兩張卡都無效則返回無效。 */ import android.app.Service; import andr

Android bluetooth裝置狀態

public class BluetoothHeadsetBroadcastReceiver extends BroadcastReceiver { public BluetoothHeadsetBroadcastReceiver() { } p

Android 實時監測()網路連線狀態變化

看了網上的很多,都不是自己想要的。所以自己就參考著寫了一個。 實現這個的方法很多,我是想的這種,如果哪有不足,有bug的地方希望大家指出,共同進步。。。。 先簡單說一下思路:網路變化時系統會發出廣播。所以我們監聽這個廣播,利用介面回撥通知activity做

android傳送簡訊以及傳送狀態

 自定義ACTION常數,作為廣播的Intent Filter識別常數 private String SMS_SEND_ACTIOIN = "SMS_SEND_ACTIOIN"; private String SMS_DELIVERED_ACTION = "SMS_D

Android 耳機狀態

專案中遇到這樣的需求,要求監聽耳機插拔狀態變化,進行埋點上報處理,把實現程式碼分享一下。 public class MainActivity extends AppCompatActivity { private static final String TAG

Android Activity onConfigurationChanged()方法 狀態改變

AndroidManifest.xml檔案: 1.增加許可權android.permission.CHANGE_CONFIGURATION 2.設定Activity的android:configChanges屬性 <uses-permission a

Android中檢查、電量和充電狀態的方法

當你在更改後臺更新頻率來減少這些更新對電池壽命的影響時,檢查當前電量和充電狀態是一個好的開始。 電池壽命通過剩餘電量和充電狀態來影響應用更新的執行。當用交流電充電時,執行更新操作對裝置的影響是微不足道的,所以在大多數案例裡,你可以把更新頻率調到最快。如果裝置不在充電,降低更新頻率可以幫助延長電池壽命。

Android開發動態的網路狀態的變化

主要思路:使用Android中的四大元件之:BrocastReceiver監聽網路狀態的變化。接收到網路狀態改變的廣播之後判斷當前的網路是否可用。 建立廣播接收器MyNetworkReceiver public class MyNetworkRecei

android 電話狀態(來電和去電)實現程式碼

從事android開發的朋友們可能電話狀態監聽不是很擅長,接下來將詳細介紹電話狀態監聽功能的實現步驟,需要了解的朋友可以參考下。 實現手機電話狀態的監聽,主要依靠兩個類:TelephoneManger和PhoneStateListener。 TelephonseMange

Android BroadcastReceiver + 藍芽狀態Demo

1、BroadcastReceiver基礎 動態註冊 靜態註冊 動態繫結 動態登出 實現靜態登出【其實就是設定不去響應,並沒有所謂登出】 2、程式碼走起 MyBroadcast: 會在MianActivity中使用程式碼動態註冊它 package

android HorizontalScrollView實現滾動狀態

網上大部分都是直接呼叫onScrollChanged(int x, int y, int oldx, int oldy) 這個方法的,實際上只是將這個方法的protected改為public而已,本質上上還是沒有什麼多大的幫助,不多說,直接上程式碼 package co

Android通過Intent.ACTION_CLOSE_SYSTEM_DIALOGSHome按鍵消息

後門 str eve log reason anr rri dem .sh Android對屏幕下方經常使用的四個按鍵消息處理是不一致的: 1、搜索按鍵的消息在onKeyDown或者onKeyUp中接收; 2、菜單按鍵的消息在onCreateOptionsMen

Jasper:用戶指南 / 設備 / 生命周期管理 / SIM 狀態

right blog cell 轉變 組件 order tab ets 不同 ylbtech-Jasper:用戶指南 / 設備 / 生命周期管理 / SIM 卡狀態 1.返回頂部 1、 SIM 卡狀態 每個設備都有一個狀態,決定了它能否在網

無線網絡5G

是這樣的,我想把樹莓派3B自帶的網絡卡設為監聽模式,使用airodump-ng監聽資料。當我使用airmon-ng start wlan0和iwconfig wlan0 mode monitor時,發現無法開啟網絡卡監聽模式。我根據錯誤提示google之後,我就使用monstart wlan0和monstop

無線網5G

網卡 stop 根據 錯誤提示 ... har ons wlan0 發現 是這樣的,我想把樹莓派3B自帶的網卡設為監聽模式,使用airodump-ng監聽數據。當我使用airmon-ng start wlan0和iwconfig wlan0 mode monitor時,發現

Android Back Home鍵

Android Back Home鍵監聽   Android Back Home鍵監聽   Back鍵的監聽   對於Back鍵的監聽比較容易,可以在多個系統回撥處攔截,比如在activity的下列方法中都可以收到Back鍵按下的事件: @Override

android拾遺04——手勢

android的手勢監聽 android的手勢監聽可以監聽使用者在螢幕上的任何點選、滑動事件,然後通過基於監聽器的事件處理機制來做出響應。 開發的步驟有兩步: 建立手勢探測器,並進行例項化 為手勢探測器繫結手勢監聽器,實現處理方法 手勢的監聽器監聽且只監聽以

Android RecyclerView的滑動

1 RecyclerView 的滑動監聽 1.1 RecyclerView 設定滑動監聽 <span style="color:#000000"><code class="language-java"> mRecyclerView.setOnScrollListene

Android 多個listviewitem的點選事件

如果一個介面包含多個listview,而且需要監聽每個listview的item點選事件,其實只需要在onItemClick方法中  判斷一下即可   @Override     public void onItemClick(Adapte