如题所述
Androidä½ä¸ºä¸ä¸ªæºè½ææºæä½ç³»ç»ï¼SDK对SIMå¡ç读åæç¸å ³çæä½ï¼é½å°è£ å¨frameworkä¸
åSIMå¡ç¸å ³ç类主è¦æ以ä¸å 个:
IccConstants (éé¢è®°å½å¾å¤ç常éï¼ä¸»è¦ç¨æ¥åå¨æ个å段å¨SIMå¡ä¸çä½ç½®æ¯ä»ä¹ï¼æ¯å¦ADN(simå¡ä¸ççµè¯æ¬)ï¼6F3A, FDN(åºå®æå· 6F3B)ï¼IccCardStatusï¼è®°å½SIMå¡çç¶æï¼å¦ABSENT, READY,UNKNOW,ETCï¼
IccFileHandler(è¿ä¸ªæ¯ç¨æ¥SIMå¡ä¸çRECORD读å®åï¼è¦å¤çä»ä¹äºæ )
IccRecordsï¼SIMå¡ä¸çæ件å 容ï¼æ¯ä¸ä¸ªå段ï¼ä¸ä¸ªRECORDï¼
IccProviderï¼ææºä¸çæ°æ®åºï¼è¯»åºæ¥çæ°æ®å ¨æ¾è¿ï¼
IccUtilsï¼éé¢ä¸è¬å ¨æ¯éææ¹æ³ï¼ä¸»è¦ç¨æ¥ç å¶è½¬æ¢ï¼
IccSmsInterfaceManagerï¼IccCardï¼è¿ä¸ªæ¯ä¸ä¸ªæ½è±¡ç±»ï¼ä¼æ ¹æ®ä¸é¢ææºçå¶å¼ï¼èªå¨èµ·ä¸ä¸ªSIMCARD æè RUIMCARDï¼
以GSM为ä¾è¯´ä¸è¯»åçè¿ç¨:
æ ¹æ®SIMå¡çç±»åï¼è¿å ¥SIMRecords, å¼å§æ¢æµSIMå¡çç¶æï¼å 为ï¼æäºSIMå¡ä¼è®¾ç½®æPINç ï¼å¦æSIMå¡æPINç çè¯ï¼ææºä¼å¼¹åºè¾å ¥PINç çæ¡ï¼çå¾ ç¨æ·è¿è¡è§£ç ï¼æ³¨æï¼è¿ä¸ªæ¶åï¼å¦æPINç å¦æ没æ解çè¯ï¼ææºæ¯ä¸ä¼å»è¯»SIMå¡çï¼å 为ï¼è¯»SIMå¡æ¶ï¼å¿ é¡»éè¿PINæè½å»è¯»ï¼åªæä¸äºæ¯è¾ç¹æ®çå段ï¼å¯ä»¥ä¸ç¨,æ¯å¦ECC ä¹å°±æ¯ç´§æ¥å¼å«å·ç ï¼ä¸è¬åå¨å¡ä¸ï¼è¿è¥åå®å¶çï¼ãåæ¶ï¼è¿PINç æªè§£çæ åµï¼ææºä¸SIMå¡çç¶æä¹æ¯PIN_REQURIED_BLOCKã
å½è§£å®PINç ï¼ææ¯ææºæ²¡æ设置PINç ï¼è¿æ¶ï¼ææºçä¼æ¢æµå°SIMæ¯READYçç¶æï¼ææºåªææ£æµå°SIM READYï¼æä¼ååºè¯»å¡ç请æ±ã
ææºå¼å§è¯»å¡ç¬¬ä¸ä¸ªæ¯IMSIï¼International Mobile SubscriberIdentification Numberï¼ä¸»è¦ç¨æ¥æ¥æ¾è¿è¥åçç½ç»ï¼éé¢æMCC,MNC,ICCID(Integrate circuit card identity)å¯ä¸æ è¯ä¸ä¸ªç§»å¨ç¨æ·ã
å½ä½å±çMODEM读å°å段ç»æåï¼ä¼æä¸ä¸ªè¿åç»æï¼ç±äºåé读å请æ±æ¶ï¼æä¸ä¸ªäºä»¶ä¿¡æ¯EVENT_GET_BINARY_SIZE_DONEï¼å½æè¿åæ¶ï¼ä¼ç´æ¥äº¤ç»IccFileHandlerï¼ç¶åç±IccFileHandler转åç»SIMRecordsï¼æåè¿è¡å¤ç该å段读å®ååºè¯¥æ§è¡çæä½ã
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
2实现方法:
private boolean ExistSDCard() {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
return true;
} else
return false;
}
扩展:
获取sd卡的路径:String path = Environment.getExternalStorageDirectory();