阅读更多

Android SD 卡的內容需要刷新才能讀取(從其它地方copy[PC或內部存儲])

使用mount/unmount的方法
代碼如下:

private void mountUnmountSD(boolean mMount) {        StorageManager mStorageManager;        mStorageManager = getApplicationContext().getSystemService(StorageManager.class);        final List volumes = mStorageManager.getVolumes();        for (VolumeInfo vol : volumes) {            if (vol.getType() == VolumeInfo.TYPE_PUBLIC) {                if(!mMount && vol.getState() == VolumeInfo.STATE_MOUNTED)                    new UnmountTask(getApplicationContext(), vol).execute();                if(mMount && vol.getState() == VolumeInfo.STATE_UNMOUNTED) {                    new MountTask(getApplicationContext(), vol).execute();                }            }        }    }    public static class MountTask extends AsyncTask {        private final Context mContext;        private final StorageManager mStorageManager;        private final String mVolumeId;        public MountTask(Context context, VolumeInfo volume) {            mContext = context.getApplicationContext();            mStorageManager = mContext.getSystemService(StorageManager.class);            mVolumeId = volume.getId();        }        @Override        protected Exception doInBackground(Void... params) {            try {                mStorageManager.mount(mVolumeId);                return null;            } catch (Exception e) {                return e;            }        }        @Override        protected void onPostExecute(Exception e) {        }    }    public static class UnmountTask extends AsyncTask {        private final Context mContext;        private final StorageManager mStorageManager;        private final String mVolumeId;        private final String mDescription;        public UnmountTask(Context context, VolumeInfo volume) {            mContext = context.getApplicationContext();            mStorageManager = mContext.getSystemService(StorageManager.class);            mVolumeId = volume.getId();            mDescription = mStorageManager.getBestVolumeDescription(volume);        }        @Override        protected Exception doInBackground(Void... params) {            try {                mStorageManager.unmount(mVolumeId);                return null;            } catch (Exception e) {                return e;            }        }        @Override        protected void onPostExecute(Exception e) {        }    }

 

更多相关文章

  1. Android(安卓)多媒体 -- 四种播放视频的方法
  2. Android中用webView引用js
  3. 原生CountDownTimer 类实现获取验证码的按钮
  4. 常用方法(1)------根据图片的url路径获得Bitmap对象
  5. Android静态安全检测 -> 密钥硬编码
  6. android屏幕监控上下左右滑动
  7. 使用android中的AIDL让Service与Activity通信[转]
  8. Android之自定义ViewGroup
  9. [Android]单元测试实例

随机推荐

  1. 浏览器独立文件io在javascript中
  2. 根据php对ajax请求的响应制作动态html表
  3. Javascript XML DOM将属性设置为特定元素
  4. arcgis api for js入门开发系列十 自定义
  5. 上传文件进度条(笔记)
  6. 整理简易分享功能
  7. Cordova相机插件ios11无法从库中选取图像
  8. 韩顺平 javascript教学视频_学习笔记12_j
  9. setInterval在Chrome上不能正常工作
  10. ajaxComplete射击多次- woocommerce添加