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

Android 7.0開發(fā)獲取存儲設備信息的方法

 更新時間:2017年11月16日 09:59:49   作者:王大錘扛刀  
這篇文章主要介紹了Android 7.0開發(fā)獲取存儲設備信息的方法,結合實例形式分析了Android7.0針對存儲設備信息的獲取、判斷操作方法與相關注意事項,需要的朋友可以參考下

本文實例講述了 Android 7.0開發(fā)獲取存儲設備信息的方法。分享給大家供大家參考,具體如下:

Android 7.0開發(fā)相較之前有不少改進,具體可參考前面的文章Android7.0版本影響開發(fā)的改進分析,這里簡單總結一下Android 7.0針對存儲設備的簡單操作方法。

MountPoint

我們通過MountPoint來描述android設備信息

private static class MountPoint {
    String mDescription;
    String mPath;
    boolean mIsExternal;
    boolean mIsMounted;
    long mMaxFileSize;
    long mFreeSpace;
    long mTotalSpace;
}

實現(xiàn)mMountPathList

private final CopyOnWriteArrayList <MountPoint> mMountPathList = new CopyOnWriteArrayList<MountPoint>();
public void init(Context context) {
    mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
    final String defaultPath = getDefaultPath();
    LogUtils.d(TAG, "init,defaultPath = " + defaultPath);
    if (!TextUtils.isEmpty(defaultPath)) {
      mRootPath = ROOT_PATH;
    }
    mMountPathList.clear();
    // check media availability to init mMountPathList
    StorageVolume[] storageVolumeList = mStorageManager.getVolumeList();
    if (storageVolumeList != null) {
      for (StorageVolume volume : storageVolumeList) {
        MountPoint mountPoint = new MountPoint();
        mountPoint.mDescription = volume.getDescription(context);
        mountPoint.mPath = volume.getPath();
        mountPoint.mIsMounted = isMounted(volume.getPath());
        mountPoint.mIsExternal = volume.isRemovable();
        mountPoint.mMaxFileSize = volume.getMaxFileSize();
        LogUtils.d(TAG, "init,description :" + mountPoint.mDescription + ",path : "
            + mountPoint.mPath + ",isMounted : " + mountPoint.mIsMounted
            + ",isExternal : " + mountPoint.mIsExternal + ", mMaxFileSize: " + mountPoint.mMaxFileSize);
        mMountPathList.add(mountPoint);
      }
    }
    IconManager.getInstance().init(context, defaultPath + SEPARATOR);
}

判斷是否是外置sdcard

/**
* This method checks weather certain path is external mount path.
*
* @param path path which needs to be checked
* @return true for external mount path, and false for not external mount path
*/
public boolean isExternalMountPath(String path) {
    //LogUtils.d(TAG, "isExternalMountPath ,path =" + path);
    if (path == null) {
      return false;
    }
    for (MountPoint mountPoint : mMountPathList) {
      if (mountPoint.mIsExternal && mountPoint.mPath.equals(path)) {
        return true;
      }
    }
    return false;
}

判斷內置存儲空間

public boolean isInternalMountPath(String path) {
    //LogUtils.d(TAG, "isInternalMountPath ,path =" + path);
    if (path == null) {
      return false;
    }
    for (MountPoint mountPoint : mMountPathList) {
      if (!mountPoint.mIsExternal && mountPoint.mPath.equals(path)) {
        return true;
      }
    }
    return false;
}

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android布局layout技巧總結》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

相關文章

  • 在Android項目中使用AspectJ的方法

    在Android項目中使用AspectJ的方法

    這篇文章主要介紹了在Android項目中使用AspectJ的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Android 判斷當前網(wǎng)絡是否可用簡單實例

    Android 判斷當前網(wǎng)絡是否可用簡單實例

    這篇文章主要介紹了Android 判斷當前網(wǎng)絡是否可用簡單實例的相關資料,需要的朋友可以參考下
    2017-06-06
  • Android 底部導航控件實例代碼

    Android 底部導航控件實例代碼

    這篇文章主要介紹了Android 底部導航控件實例代碼的相關資料,需要的朋友可以參考下
    2016-03-03
  • Android編程開發(fā)錄音和播放錄音簡單示例

    Android編程開發(fā)錄音和播放錄音簡單示例

    這篇文章主要介紹了Android編程開發(fā)錄音和播放錄音的方法,結合實例形式分析了Android多媒體開發(fā)中音頻操作的相關技巧,需要的朋友可以參考下
    2016-08-08
  • Android 啟動另一個App/apk中的Activity實現(xiàn)代碼

    Android 啟動另一個App/apk中的Activity實現(xiàn)代碼

    這篇文章主要介紹了Android 啟動另一個App/apk中的Activity實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2017-04-04
  • Flutter學習教程之Route跳轉以及數(shù)據(jù)傳遞

    Flutter學習教程之Route跳轉以及數(shù)據(jù)傳遞

    這篇文章主要給大家介紹了關于Flutter學習教程之Route跳轉以及數(shù)據(jù)傳遞的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Flutter具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Angular5.0.0新特性

    Angular5.0.0新特性

    Angular5.0.0是一款非常優(yōu)秀的前端JS框架,已經被用于google多款產品當中,這篇文章主要介紹了Angular5.0.0新特性,需要的朋友可以參考下
    2017-11-11
  • Android編程實現(xiàn)長按Button按鈕連續(xù)響應功能示例

    Android編程實現(xiàn)長按Button按鈕連續(xù)響應功能示例

    這篇文章主要介紹了Android編程實現(xiàn)長按Button按鈕連續(xù)響應功能,涉及Android自定義按鈕及事件響應操作相關技巧,需要的朋友可以參考下
    2017-01-01
  • Adnroid打造通用的帶進度條的WebView

    Adnroid打造通用的帶進度條的WebView

    這篇文章主要為大家詳細介紹了Adnroid打造通用的帶進度條的WebView的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android?藍牙BLE開發(fā)完全指南

    Android?藍牙BLE開發(fā)完全指南

    BLE藍牙的興起主要因為近年來可穿戴設備的流行,由于傳統(tǒng)藍牙功耗高不能滿足可穿戴設備對于續(xù)航的要求,所以大部分可穿戴設備采用藍牙4.0,即BLE藍牙技術,這篇文章主要給大家介紹了關于Android?藍牙BLE開發(fā)的相關資料,需要的朋友可以參考下
    2021-11-11

最新評論

桃园市| 宁波市| 蒙阴县| 榆社县| 陈巴尔虎旗| 临桂县| 安义县| 上高县| 方山县| 洛川县| 柘城县| 蛟河市| 玛曲县| 兰考县| 大余县| 吉木萨尔县| 南木林县| 永济市| 北票市| 开江县| 杭锦后旗| 新乡市| 雷山县| 司法| 淮安市| 封丘县| 班玛县| 察哈| 原平市| 临湘市| 全南县| 安顺市| 紫金县| 武义县| 敦煌市| 大新县| 确山县| 衢州市| 汶上县| 托里县| 江油市|