最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 6.0上sdcard和U盤路徑獲取和區(qū)分方法

 更新時間:2018年08月02日 09:28:25   作者:JulyAnRef  
今天小編就為大家分享一篇Android 6.0上sdcard和U盤路徑獲取和區(qū)分方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

/**
  * 6.0獲取外置sdcard和U盤路徑,并區(qū)分
  * @param mContext
  * @param keyword SD = "內(nèi)部存儲"; 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就是系統(tǒng)給每個盤的一個label,用來區(qū)分是內(nèi)部存儲、sdcard還是U盤,內(nèi)卡的label固定,但是sdcard和U盤的label是根據(jù)種類,狀態(tài)等信息等動態(tài)生成,所以這里“if(userLabel.contains(keyword)){”沒有用equals。

總結:不懂看源碼

以上這篇Android 6.0上sdcard和U盤路徑獲取和區(qū)分方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

泰安市| 明溪县| 洛阳市| 万安县| 安仁县| 东阳市| 女性| 八宿县| 汉中市| 浦北县| 德清县| 云安县| 华池县| 浦城县| 渝北区| 延长县| 寿阳县| 西华县| 乌兰县| 平凉市| 石屏县| 格尔木市| 汾阳市| 广东省| 南乐县| 铜梁县| 彭泽县| 昌平区| 永登县| 遵义县| 库伦旗| 台南县| 肇源县| 犍为县| 贡山| 景德镇市| 杨浦区| 永康市| 辰溪县| 三穗县| 洪洞县|