亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Android 6.0上sdcard和U盤路徑獲取和區分方法

發布時間:2020-09-12 18:32:48 來源:腳本之家 閱讀:131 作者:JulyAnRef 欄目:移動開發

Android6.0上會根據卡的種類和卡的掛載狀態來動態生成掛載路徑,所以之前寫固定路徑的辦法不可用,最后通過網上查找和分析android源碼,通過反射獲取到路徑,并且進行了正確區分,代碼如下:

/**
  * 6.0獲取外置sdcard和U盤路徑,并區分
  * @param mContext
  * @param keyword SD = "內部存儲"; EXT = "SD卡"; USB = "U盤"
  * @return
  */
 public static String getStoragePath(Context mContext,String keyword) {
  String targetpath = "";
  StorageManager mStorageManager = (StorageManager) mContext
    .getSystemService(Context.STORAGE_SERVICE);
  Class<?> storageVolumeClazz = null;
  try {
   storageVolumeClazz = Class.forName("android.os.storage.StorageVolume");
   
   Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList");
   
   Method getPath = storageVolumeClazz.getMethod("getPath");
     
   Object result = getVolumeList.invoke(mStorageManager);
   
   final int length = Array.getLength(result);
   
   Method getUserLabel = storageVolumeClazz.getMethod("getUserLabel");
   
   
   for (int i = 0; i < length; i++) {
    
    Object storageVolumeElement = Array.get(result, i);
    
    String userLabel = (String) getUserLabel.invoke(storageVolumeElement);
    
    String path = (String) getPath.invoke(storageVolumeElement);
    
    if(userLabel.contains(keyword)){
     targetpath = path;
    }

   }
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (InvocationTargetException e) {
   e.printStackTrace();
  } catch (NoSuchMethodException e) {
   e.printStackTrace();
  } catch (IllegalAccessException e) {
   e.printStackTrace();
  }
  return targetpath ;
 }

這里拿到的userLabel就是系統給每個盤的一個label,用來區分是內部存儲、sdcard還是U盤,內卡的label固定,但是sdcard和U盤的label是根據種類,狀態等信息等動態生成,所以這里“if(userLabel.contains(keyword)){”沒有用equals。

總結:不懂看源碼

以上這篇Android 6.0上sdcard和U盤路徑獲取和區分方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

榆社县| 铁力市| 哈尔滨市| 平江县| 县级市| 客服| 兴文县| 古蔺县| 罗平县| 奉贤区| 泸水县| 福安市| 黄平县| 乌审旗| 巩义市| 陆良县| 马关县| 吴旗县| 通渭县| 家居| 手游| 昌平区| 中卫市| 商都县| 五常市| 柏乡县| 六盘水市| 镇远县| 分宜县| 响水县| 于都县| 潜山县| 晋州市| 柞水县| 新郑市| 呼伦贝尔市| 南涧| 西华县| 同心县| 镇江市| 九龙坡区|