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

android是否判斷sd卡

發布時間: 2025-02-18 01:49:46

1. 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" />

2. Android如何檢測SD卡某個目錄是否存在

下面是判斷的方法。 在SD卡創建文件 需要在AndroidManifest.xml中添加許可權 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ . //獲得當前外部儲存設備的目錄 String SDCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator;/** 判斷SD卡mp3目錄是否存在*/public void isDirExist(String dir){ File file = new File(SDCardRoot + dir + File.separator);

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

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

代碼中判斷是否有sd卡:

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

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

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

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

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

6. android判斷是否有sd卡

在Android開發中,判斷SD卡是否存在並查詢其可用空間是一項常見的需求。下面通過幾個方法來實現這一功能。首先,要判斷SD卡是否可用,可以通過檢查Environment.getExternalStorageState()的方法返回的狀態來實現。具體代碼如下:

public boolean avaiableMedia() { String status = Environment.getExternalStorageState(); if (status.equals(Environment.MEDIA_MOUNTED)) { return true; } else { return false; } }

當SD卡狀態為Environment.MEDIA_MOUNTED時,返回true表示SD卡存在。若狀態不是這一種,則返回false。

接下來,為了獲取SD卡的可用空間,可以使用StatFs類。通過該類,我們可以獲得單個數據塊的大小以及可用的數據塊數量,從而計算出SD卡的可用空間大小。代碼如下:

public long getSDFreeSize() { File path = Environment.getExternalStorageDirectory(); StatFs sf = new StatFs(path.getPath()); long blockSize = sf.getBlockSizeLong(); long freeBlocks = sf.getAvailableBlocksLong(); return (freeBlocks * blockSize) / 1024 / 1024; }

這段代碼返回的是SD卡可用空間的大小,單位為MB。若需要以Byte或KB為單位,可以適當調整計算公式。

最後,如果想要獲取SD卡的總空間大小,同樣可以使用StatFs類。通過獲取所有數據塊數和單個數據塊的大小,我們可以計算出SD卡的總空間大小。代碼如下:

public long getSDAllSize() { File path = Environment.getExternalStorageDirectory(); StatFs sf = new StatFs(path.getPath()); long blockSize = sf.getBlockSizeLong(); long allBlocks = sf.getBlockCountLong(); return (allBlocks * blockSize) / 1024 / 1024; }

這段代碼返回的是SD卡總空間的大小,單位也是MB。同樣,若需要以其他單位表示,可以調整計算公式。

7. 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:
}

熱點內容
mariadbforlinux 發布:2025-02-21 23:30:48 瀏覽:392
安卓刪照片怎麼恢復 發布:2025-02-21 23:28:24 瀏覽:795
php中文字元長度 發布:2025-02-21 23:20:31 瀏覽:891
水滸傳中央編譯出版社mobi 發布:2025-02-21 23:19:51 瀏覽:151
python怎麼自學 發布:2025-02-21 23:19:49 瀏覽:916
php替換html標簽 發布:2025-02-21 23:15:33 瀏覽:255
電腦配置哪個好排行 發布:2025-02-21 23:10:30 瀏覽:626
怎麼看新車是哪個配置的 發布:2025-02-21 22:52:15 瀏覽:311
安卓最高處理器是什麼2021 發布:2025-02-21 22:47:08 瀏覽:695
遠秋住培管理系統伺服器地址 發布:2025-02-21 22:44:32 瀏覽:766