回覆列表
  • 1 # 使用者3875103737916

    在2.x的版本中,在manifest中配置的許可權android.permission.WRITE_EXTERNAL_STORAGE確實是用來使得sd卡獲得寫的許可權。而在4.0開發的原始碼當中,由於有了內外接sd卡的區分,android.permission.WRITE_EXTERNAL_STORAGE的許可權用來設定了內建sd卡的寫許可權,如果在manifest中只是配置了這個許可權,那個應用只能在內建sd卡中進行寫操作,還是無法在外接sd卡中進行寫操作。

    需要寫外接sd卡的話,需要配置另一個許可權android.permission.WRITE_MEDIA_STORAGE,這樣就可以在外接sd卡中進行寫入操作了。這兩個許可權都被定義在 android原始碼目錄\frameworks\base\data\etc\platform.xml中:<permission name="android.permission.WRITE_EXTERNAL_STORAGE" ><group gid="sdcard_rw" /> </permission><permission name="android.permission.WRITE_MEDIA_STORAGE" ><group gid="media_rw" /> </permission> 使用到的類主要是framework/base/core/java/android/os/storage/StorageVolume.java及相同目錄下的StorageManager.java檔案。StorageManager類可以獲得所有的儲存媒體列表,及StorageVolume型別的陣列,從而可以獲得對應儲存是否可讀寫一類的資訊。

    如果是安卓6.0的外接SD卡的話可以先開啟設定,然後應用程式——應用程式管理器,再開啟某個軟體——儲存——選擇已使用的儲存空間,然後點更改,選擇SD卡,這樣就可以了。

  • 中秋節和大豐收的關聯?
  • 美國在韓國部署薩德後對韓國影響怎麼樣?