androidsim
① Android 判斷SIM卡屬於哪個移動運營商
第一種方法:
獲取手機的IMSI碼,並判斷是中國移動\中國聯通\中國電信
TelephonyManager telManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
/** 獲取SIM卡的IMSI碼
* SIM卡唯一標識:IMSI 國際移動用戶識別碼(IMSI:InternationalMobile Subscriber Identification Number)是區別移動用戶的標志,
* 儲存在SIM卡中,可用於區別移動用戶的有效信息。IMSI由MCC、MNC、MSIN組成,其中MCC為移動國家號碼,由3位數字組成,
*唯一地識別移動客戶所屬的國家,我國為460;MNC為網路id,由2位數字組成,
*用於識別移動客戶所歸屬的移動網路,中國移動為00,中國聯通為01,中國電信為03;MSIN為移動客戶識別碼,採用等長11位數字構成。
* 唯一地識別國內GSM移動通信網中移動客戶。所以要區分是移動還是聯通,只需取得SIM卡中的MNC欄位即可
*/
Stringimsi = telManager.getSubscriberId();
if(imsi!=null){
if(imsi.startsWith("46000") ||imsi.startsWith("46002")){//因為移動網路編號46000下的IMSI已經用完,所以虛擬了一個46002編號,134/159號段使用了此編號
//中國移動
}elseif(imsi.startsWith("46001")){
//中國聯通
}elseif(imsi.startsWith("46003")){
//中國電信
}
}
第二種方法
TelephonyManager telManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
Stringoperator = telManager.getSimOperator();
if(operator!=null){
if(operator.equals("46000") ||operator.equals("46002")){
//中國移動
}elseif(operator.equals("46001")){
//中國聯通
}elseif(operator.equals("46003")){
//中國電信
}
}
② android重新獲取sim卡
具體方法如下:
主要功能代碼如下:
041/*** 獲取SIM卡運營商** @param context* @return*/public static String getOperators(Context context) {TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);String operator = null;String IMSI = tm.getSubscriberId();if (IMSI == null || IMSI.equals("")) {return operator;}if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {operator = "中國移動";} else if (IMSI.startsWith("46001")) {operator = "中國聯通";} else if (IMSI.startsWith("46003")) {operator = "中國電信";}return operator;}/*** 手機型號** @return*/public static String getPhoneModel() {return android.os.Build.MODEL;}/*** 系統版本** @return*/public static String getSystemVersion() {return android.os.Build.VERSION.RELEASE;}
許可權代碼如下:
1<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
希望本文所述對大家的Android程序設計有所幫助
您可能感興趣的文章:
Android4.X中SIM卡信息初始化過程詳解
Android獲取手機通訊錄、sim卡聯系人及調用撥號界面方法
android監控sim卡有沒有服務示例(sim卡管理)
Android讀取用戶號碼,手機串號,SIM卡序列號的實現代碼
Android 判斷SIM卡屬於哪個移動運營商的實現代碼
Android8.1 源碼修改之插入SIM卡默認啟用Volte功能
③ android sim卡的序列號有幾位
sim卡的序列號是根據運營商而定,一般印刷在sim卡背面以及大卡卡套上,例如聯通sim卡序列號(即ICCID號)為20位數。
④ 安卓手機無法識別SIM卡怎麼辦
若使用vivo手機,手機不識別SIM卡可參考以下處理方法:
1、您重啟手機,手機會重新讀取SIM卡,查看是否恢復使用。
2、檢查手機設置,查看是否啟用SIM卡
進入手機設置--移動網路--SIM卡信息與設置--點擊進入對應SIM卡–啟用SIM卡,確保開關處於開啟狀態。
3、檢查SIM卡是否裝反
請參考使用手冊中的裝卡步驟,查看SIM卡裝入方向是否正確。
*裝卡步驟查看:進入設置--系統管理--客戶服務--使用手冊--手機概覽與快速入門–安裝與准備
4、檢查SIM卡外觀是否良好
觀察SIM卡金屬表面是否存在污漬,清理SIM卡表面污漬,避免接觸不良導致SIM卡無法識別。如果使用裁剪的SIM卡,SIM卡形狀可能不標准,從而產生接觸不良導致SIM卡無法識別,建議前往運營商營業廳更換為標准SIM卡。
5、進行交叉驗證
請將SIM卡安裝到其他設備,或者將其他SIM卡安裝到您的手機對比測試,判斷是否屬於SIM卡故障。
6、服務中心檢測
若以上方法未能解決您的問題,提前備份好手機數據,攜帶手機和購機憑證前往vivo客戶服務中心檢測,關注微信公眾號「vivo」或者「vivo客戶服務」進行查詢服務中心地址電話,建議去之前電話聯系,確保有工作人員接待再過去,避免耽誤寶貴時間白跑一趟。
⑤ 安卓系統的手機怎樣插SIM卡
插SIM卡與哪那種系統沒關系吧,主要看你的手機支持哪個運營商的卡,移動、聯通的卡可互認,但電信卡就不認。選手機、選卡前先了解清楚。另外現在有一種mini卡槽,原來的大卡要剪小才插得進去,不過可別亂剪,到營業廳讓服務員給你剪。
⑥ android 無效sim卡可以讀出imsi imei嗎
不可以。
1、實際上android也是通過讀取卡片相關數據獲取的,因此卡內存儲的數據是最准確的,無效的卡是沒有任何數據的。
2、Android是唯一讀出IMSI和IMEI的方法。
⑦ 如何在Android開發中獲取SIM卡信息
android 獲取sim卡運營商信息
TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager 的使用 TelephonyManager 提供設備上獲取通訊服務信息的入口,應用程序使用這個類的方法來獲取電話的服務商或者狀態。程序也可以注冊一個監聽器來監聽電話狀態的改變。 不需要直接實例化這個類,使用Context.getSystemService(Context.TELEPHONY_SERVICE)來獲取這個類的實例。
注意:一些電話信息需要相應的許可權。 方法無效
getSimOperatorName() Returns the Service Provider Name (SPN). // 獲取服務提供商名字,比如電信,聯通,移動 用下面的方法 第一種方法: 獲取手機的IMSI碼,並判斷是中國移動/中國聯通/中國電信
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
/** 獲取SIM卡的IMSI碼 * SIM卡唯一標識:IMSI 國際移動用戶識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動用戶的標志, * 儲存在SIM卡中,可用於區別移動用戶的有效信息。
IMSI由MCC、MNC、MSIN組成,其中MCC為移動國家號碼,由3位數字組成, * 唯一地識別移動客戶所屬的國家,我國為460;MNC為網路id,由2位數字組成, * 用於識別移動客戶所歸屬的移動網路,中國移動為00,中國聯通為01,中國電信為03;
MSIN為移動客戶識別碼,採用等長11位數字構成。 *
唯一地識別國內GSM移動通信網中移動客戶。所以要區分是移動還是聯通,只需取得SIM卡中的MNC欄位即可 */
String imsi = telManager.getSubscriberId();
if(imsi!=null){ if(imsi.startsWith(「46000″) || imsi.startsWith(「46002″))
{//因為移動網路編號46000下的IMSI已經用完,所以虛擬了一個46002編號,134/159號段使用了此編號 //中國移動
}else if(imsi.startsWith(「46001″)){
//中國聯通
}else if(imsi.startsWith(「46003″)){
//中國電信
} }
第二種方法 TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String operator = telManager.getSimOperator();
if(operator!=null){ if(operator.equals(「46000″) || operator.equals(「46002″)|| operator.equals(「46007″)){
//中國移動
}else if(operator.equals(「46001″)){
//中國聯通
}else if(operator.equals(「46003″)){
//中國電信
} }
在文件AndroidManifest.xml中添加許可權 其他方法具體使用方法請查看API 文檔TelephonyManager中方法說明。
在文件 AndroidManifest.xml 中添加許可權 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
TelephonyManager tel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE);
String simOperator = tel.getSimOperator();
IMSI共有15位,其結構如下: MCC+MNC+MIN MCC:Mobile Country Code,移動國家碼,共3位,中國為460; MNC:Mobile Network Code,移動網路碼,共2位,電信03,移動02,聯通GSM 01,一個典型的IMSI號碼為460030912121001; MIN共有10位,其結構如下: 09+M0M1M2M3+ABCD 其中的M0M1M2M3和MDN號碼中的H0H1H2H3可存在對應關系,ABCD四位為自由分配。 可以看出IMSI在MIN號碼前加了MCC,可以區別出每個用戶的來自的國家,因此可以實現國際漫遊。在同一個國家內,如果有多個CDMA運營商,可以通過MNC來進行區別.
功能 說明
getCellLocation() 返回的單元格位置的裝置 ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION
getDeviceId() 返回的IMEI / MEID的設備。 如果該設備是GSM設備 然後IMEI號將被退回,如果該設備是一個CDMA設備然後MEID 將被退回 READ_PHONE_STATE
getLine1Number() 返回設備的電話號碼(MSISDN號碼) READ_PHONE_STATE
getNetworkOperatorName() 返回注冊的網路運營商的名字
getNetworkOperator() 返回的MCC +跨國公司的注冊網路運營商
getNetworkCountryIso() 返回注冊的網路運營商的國家代碼
getSimCountryIso() 返回SIM卡運營商的國家代碼 READ_PHONE_STATE
getSimOperator() 返回SIM卡運營商的單個核細胞數+冶 READ_PHONE_STATE
getSimOperatorName() 返回SIM卡運營商的名字 READ_PHONE_STATE
getSimSerialNumber() 返回SIM卡的序列號 READ_PHONE_STATE
getNetworkType() 返回網路設備可用的類型。 這將是 下列其中一個值:
TelephonyManager.NETWORK_TYPE_UNKNOWN TelephonyManager.NETWORK_TYPE_GPRS TelephonyManager.NETWORK_TYPE_EDGE TelephonyManager.NETWORK_TYPE_UMTS READ_PHONE_STATE getPhoneType() 返回設備的類型。 這將是以下值之一: TelephonyManager.PHONE_TYPE_NONE TelephonyManager.PHONE_TYPE_GSM TelephonyManager.PHONE_TYPE_CDMA READ_PHONE_STATE getSubscriberId() 返回用戶識別碼(的IMSI)的設備 READ_PHONE_STATE
getNeighboringCellInfo() 返回NeighboringCellInfo類代表名單 相鄰小區的信息,如果可用,否則將 返回null ACCESS_COARSE_UPDATES
⑧ 安卓sim卡密碼怎麼設置
修改sim卡密碼方法:
1、帶著相關證件及用戶卡(當初買號的時候帶小卡的那個)去移動公司營業廳。
2、可以撥10086按1再按3重置密碼。需要輸入身份證號信息,驗證才能修改密碼。
3、sim卡密碼一般都是指PIN碼(PIN1),就是SIM卡的個人識別密碼。
4、如果未經使用者修改,運營商設置的原始密碼是1234或0000。
5、如果啟用了開機PIN碼,那麼每次開機後就要輸入4位數PIN碼,PIN碼是可以修改的,用來保護自己的SIM卡不被他人使用。
擴展
數字行動電話手機與模擬行動電話手機相比較,在結構上多了一塊SIM卡。SIM卡叫用戶識別卡。它實際上是一張內含大規模集成電路的智能卡片,用來登記用戶的重要數據和信息。
SIM卡存儲的數據可分為四類:第一類是固定存放的數據。這類數據在行動電話機被出售之前由SIM卡中心寫入,包括國際移動用戶識別號(IMSI)、鑒權密鑰(KI)、鑒權和加密演算法等等。第二類是暫時存放的有關網路的數據。如位置區域識別碼(LAI)、移動用戶暫時識別碼(TMSI)、禁止接入的公共電話網代碼等。第三類是相關的業務代碼,如個人識別碼(PIN)、解鎖碼(PUK)、計費費率等。第四類是電話號碼簿,是手機用戶隨時輸入的電話號碼。用戶全部資料幾乎都存儲在SIM卡內,因此SIM卡又稱為用戶資料識別卡。
SIM卡最重要的一項功能是進行鑒權和加密。當用戶移動到新的區域撥打或接聽電話時,交換機都要對用戶進行鑒權,以確定是否為合法用戶。這時,SIM卡和交換機同時利用鑒權演算法,對鑒權密鑰和8位隨機數字進行計算,計算結果相同的,SIM卡被承認,否則,SIM卡被拒絕,用戶無法進行呼叫。SIM卡還可利用加密演算法,對話音進行加密,防止竊聽。
數字行動電話手機只有裝上SIM卡後才能使用,否則只是一部「裸機」,只能撥通網路中心許可的幾個緊急號碼,如110、119等。當SIM卡被插入任何一部符合數字行動電話系統規范的行動電話手機時,就可接打電話。通話費自動記入持卡人的帳單上,而與行動電話手機無關。
為了防止手機丟失後被盜用,每張SIM卡都可設置一個密碼,即個人識別碼(PIN碼),用來對SIM上鎖。它是由用戶自己設定的,且可以隨時更改。只有當用戶輸入正確的密碼後,手機才能進入正常使用狀態。連續三次輸入錯誤的個人密碼,手機便會將SIM卡鎖住。要解鎖,必須使用解鎖碼。如果你忘了這個號碼,或SIM卡丟失,則需帶齊開戶資料,攜機到當地的無線營業廳解鎖或掛失。