中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android無法在SD卡創建目錄怎么解決

發布時間:2022-04-19 11:09:54 來源:億速云 閱讀:433 作者:iii 欄目:開發技術

這篇“Android無法在SD卡創建目錄怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Android無法在SD卡創建目錄怎么解決”文章吧。

摘要

今天開發中遇到一個問題,項目無法在Android6.0設備的SD卡創建目錄,在Android6.0以下的移動設備測試了5.0 、4.3的設備,均正常,但是在Android6.0卻不正常。

經過排查,執行下列代碼無法在6.0的設備上面創建目錄

File dir = new File(DbConfig.BASE_PATH);
if (!dir.exists()) {
 dir.mkdirs();
}

衍生知識

2015年5月29日中Google I/O開發者大會,Google 發布了 Android M,并命名為“棉花糖”(Marshmallow),對于開發者來說, Android 6.0(API 23)給開發者帶來的一些變化。

權限管理是 Android M 最大的改變

變化描述:

權限管理更加精細,并且由以前的安裝時靜態授權,改為現在的運行時動態授權。

大家對 Android 的權限吐槽已久,Android 應該能極大的改善這方面的問題。

主要改變有:

系統設置中可以對 APP 各個權限單獨控制權限根據內容進行分組了

普通權限還是在安裝時授權,其他權限在運行時系統彈窗授權,并且要解析使用這個權限的目的

對于開發者來說,需要小心處理權限相關的問題。在使用某個功能的時候,需要總是判斷是否有改權限,并且通過合適的方式請求用戶授權。

現在描述一下處理的解決方案

1 發起讀寫設備存儲空間的權限

ActivityCompat.requestPermissions(AppStartActivity.this,new String[]{ android.Manifest.permission.WRITE_EXTERNAL_STORAGE},1);

2 寫權限請求回掉函數

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
 boolean writeAccepted = false;
 switch (requestCode) {
  case 1:
   writeAccepted = grantResults[0] == PackageManager.PERMISSION_GRANTED;
   break;
 }
}

3 執行創建目錄代碼

if (writeAccepted) {
  String state = Environment.getExternalStorageState();
  if (Environment.MEDIA_MOUNTED.equals(state)) {
   File dir = new File(DbConfig.BASE_PATH);
   if (!dir.exists()) {
   dir.mkdirs();
   }
  }
 }

以上就是關于“Android無法在SD卡創建目錄怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云南省| 思南县| 肇源县| 贡觉县| 大化| 筠连县| 沙坪坝区| 青神县| 定远县| 永靖县| 涟源市| 阿克陶县| 唐河县| 霍城县| 海门市| 林周县| 浑源县| 无棣县| 靖西县| 唐海县| 扎赉特旗| 长春市| 拜泉县| 延寿县| 海阳市| 涟水县| 太和县| 九台市| 青铜峡市| 台东县| 东莞市| 黑山县| 五原县| 建水县| 东至县| 涿州市| 曲靖市| 朝阳区| 田东县| 化隆| 那曲县|