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

android判斷sd卡是否存在

發布時間: 2022-12-29 18:59:51

⑴ android怎麼判斷sd卡是否掛載

android獲取sd卡路徑方法:
public String getSDPath(){
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); //判斷sd卡是否存在
if (sdCardExist)
{
sdDir = Environment.getExternalStorageDirectory();//獲取跟目錄
}
return sdDir.toString();
}
不建議直接寫死android sd卡的路徑。

Android中判斷SD卡是否存在,並且可以進行寫操作,可以使用如下代碼
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED))
{
//TODO:
}

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

獲取所有存儲點:

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

測試用例:

⑶ android 判斷一個文件是否存在

sd卡目錄請不要直接使用/storage/sdcard0/,你這樣試試
String SDPATH = Environment.getExternalStorageDirectory().getPath() + "//";
File f = new File(SDPATH +"/Manual/test.pdf")
另外你是不是忘記加許可權了<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

⑷ 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中可以找到新建成功的文件夾

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

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

代碼中判斷是否有sd卡:

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

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

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

⑹ android判斷是否有sd卡

本文實例講述了Android編程判斷SD卡是否存在及使用容量查詢實現方法。分享給大家供大家參考,具體如下:
1.判斷SD卡是否存在 返回true表示存在
/* 判斷SD卡是否存在 返回true表示存在 */
public boolean avaiableMedia() {
String status = Environment.getExternalStorageState();
if (status.equals(Environment.MEDIA_MOUNTED)) {
return true;
} else {
return false;
}
}

2.獲取SD卡可用空間
/* 獲取SD卡可用空間 */
public long getSDFreeSize() {
// 取得SD卡文件路徑
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// 獲取單個數據塊的大小(Byte)
long blockSize = sf.getBlockSizeLong();
// 空閑的數據塊的數量
long freeBlocks = sf.getAvailableBlocksLong();
// 返回SD卡空閑大小
// return freeBlocks * blockSize; //單位Byte
// return (freeBlocks * blockSize)/1024; //單位KB
return (freeBlocks * blockSize) / 1024 / 1024; // 單位MB
}

3.獲取SD卡所有空間
/* 獲取SD卡所有空間 */
public long getSDAllSize() {
// 取得SD卡文件路徑
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// 獲取單個數據塊的大小(Byte)
long blockSize = sf.getBlockSizeLong();
// 獲取所有數據塊數
long allBlocks = sf.getBlockCountLong();
// 返回SD卡大小
// return allBlocks * blockSize; //單位Byte
// return (allBlocks * blockSize)/1024; //單位KB
return (allBlocks * blockSize) / 1024 / 1024; // 單位MB
}

⑺ 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,最後進行處理該欄位讀完後應該執行的操作。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:626
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:356
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:71
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:296
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:787
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:337
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:202
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:798
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:355
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:582