當前位置:首頁 » 安卓系統 » 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中可以找到新建成功的文件夾

熱點內容
國圖資料庫 發布:2024-11-29 10:34:15 瀏覽:540
vpn免流伺服器搭建 發布:2024-11-29 10:26:12 瀏覽:244
c源文件編譯後的擴展名為 發布:2024-11-29 10:08:40 瀏覽:923
腳本自動登錄 發布:2024-11-29 09:55:27 瀏覽:62
安卓的無線網路在哪裡 發布:2024-11-29 09:54:13 瀏覽:652
谷歌瀏覽器打開ftp 發布:2024-11-29 09:46:30 瀏覽:668
熱線女孩ftp 發布:2024-11-29 09:46:29 瀏覽:71
安卓作曲哪個軟體好用 發布:2024-11-29 09:29:30 瀏覽:903
怎麼看撥號伺服器ip 發布:2024-11-29 09:28:17 瀏覽:931
王者配置怎麼樣 發布:2024-11-29 09:22:58 瀏覽:858