當前位置:首頁 » 安卓系統 » android判斷sd卡

android判斷sd卡

發布時間: 2023-12-13 14:24:59

Ⅰ Android判斷SD卡是否存在的實現

Android作為一個智能手機操作系統,SDK對SIM卡的讀取有相關的操作,都封裝在framework中

和SIM卡相關的類主要有以下幾個:

  1. IccConstants (裡面記錄很多的常量,主要用來存儲某個欄位在SIM卡上的位置是什麼,比如ADN(sim卡上的電話本),6F3A, FDN(固定拔號 6F3B))IccCardStatus(記錄SIM卡的狀態,如ABSENT, READY,UNKNOW,ETC)

  2. IccFileHandler(這個是用來SIM卡上的RECORD讀完後,要處理什麼事情)

  3. IccRecords(SIM卡上的文件內容,每一個欄位,一個RECORD)

  4. IccProvider(手機上的資料庫,讀出來的數據全放這)

  5. IccUtils(裡面一般全是靜態方法,主要用來碼制轉換)

  6. IccSmsInterfaceManager,IccCard(這個是一個抽象類,會根據上面手機的制式,自動起一個SIMCARD 或者RUIMCARD)


以GSM為例說下讀取的過程:

  1. 根據SIM卡的類型,進入SIMRecords, 開始探測SIM卡的狀態,因為,有些SIM卡會設置有PIN碼,如果SIM卡有PIN碼的話,手機會彈出輸入PIN碼的框,等待用戶進行解碼,注意,這個時候,如果PIN碼如果沒有解的話,手機是不會去讀SIM卡的,因為,讀SIM卡時,必須通過PIN才能去讀,只有一些比較特殊的欄位,可以不用,比如ECC 也就是緊急呼叫號碼(一般存在卡上,運營商定製的)。同時,這PIN碼未解的情況,手機中SIM卡的狀態也是PIN_REQURIED_BLOCK。

  2. 當解完PIN碼,或是手機沒有設置PIN碼,這時,手機的會探測到SIM是READY的狀態,手機只有檢測到SIM READY,才會發出讀卡的請求。

  3. 手機開始讀卡第一個是IMSI(International Mobile SubscriberIdentification Number)主要用來查找運營商的網路,裡面有MCC,MNC,ICCID(Integrate circuit card identity)唯一標識一個移動用戶。

  4. 當低層的MODEM讀到欄位結果後,會有一個返回結果,由於發送讀取請求時,有一個事件信息EVENT_GET_BINARY_SIZE_DONE,當有返回時,會直接交給IccFileHandler,然後由IccFileHandler轉發給SIMRecords,最後進行處理該欄位讀完後應該執行的操作。

Ⅱ Android 獲取外置存儲卡,檢查是否掛載

獲取所有存儲點:

根據路徑來判斷具體sd卡是否掛載:

測試用例:

Ⅲ 怎樣查看android虛擬機是否有sdcard

android虛擬機,也就是人們說的模擬器吧(現在都基本用手機測試了),打開ddms,看我發的圖:

代碼中判斷是否有sd卡:

Android中判斷SD卡是否存在,並且可以進行寫操作,可以使用如下代碼

if (android.os.Environment.getExternalStorageState().equals(

android.os.Environment.MEDIA_MOUNTED))
{
//存在
}

Ⅳ android 判斷sdcard是否存在,以及寫入許可權

/**
* 判斷手機是否有SD卡。
*
* @return 有SD卡返回true,沒有返回false。
*/
public static boolean hasSDCard() {
return Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState());
}

Android app開發過程中,有時需要獲取sdcard路徑,在該路徑下進行文件訪問操作
工具/原料
eclipse
android sdt
android手機
方法/步驟
啟動eclipse,新建Android工程(具體創建方法,請參考筆者之前所寫經驗《如何建Android工程》);

找到res--》layout--》activity_main.xml,雙擊點開

從面板中拖兩個button到界面上,分別命名:
getDIR(此button用於示範獲取到的sdcard路徑)
dir創建新文件夾(此button用於示範在sdcard路徑下新建文件夾)

對button分辨綁定點擊事件

//獲取sdcard路徑
public void getDIR(View v){
String sdpath = Environment.getExternalStorageDirectory().toString();
AlertDialog.Builder build = new Builder(this);
build.setMessage(sdpath).show();
}
//在手機sdcard路徑下新建名為jingyan的文件夾
public void newPackage(View v){
String mkdir = Environment.getExternalStorageDirectory()+"/jingyan/test.txt";
File file = new File(mkdir);
AlertDialog.Builder build = new Builder(this);
if(file.exists()){
build.setMessage("文件夾已存在").show();
}else{
file.mkdirs();
build.setMessage("新建成功").show();
}
}
在【AndroidManifest.xml】配置文件中添加app對文件的操作許可權
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

安裝之後演示效果如下:
點擊getDIR--》彈出sdcard路徑

點擊dir創建新文件夾--》
如果文件夾已存在,則提示「文件夾已存在」
反之,則提示"新建成功",同時在手機sdcard中可以找到新建成功的文件夾

熱點內容
無需伺服器搭建網站 發布:2025-01-22 21:53:34 瀏覽:114
旅遊青蛙安卓版如何下載 發布:2025-01-22 21:52:51 瀏覽:317
歐文5的配置是什麼 發布:2025-01-22 21:30:23 瀏覽:108
日誌存儲資料庫 發布:2025-01-22 21:30:07 瀏覽:474
gulp上傳cdn 發布:2025-01-22 21:27:34 瀏覽:203
emule文件夾 發布:2025-01-22 21:23:23 瀏覽:981
s7e什麼時候推送安卓7 發布:2025-01-22 21:20:59 瀏覽:203
狐狸的清白腳本分析 發布:2025-01-22 21:19:59 瀏覽:182
如何破解仿射密碼 發布:2025-01-22 21:13:53 瀏覽:81
百度視頻存儲 發布:2025-01-22 21:13:11 瀏覽:168