1 注册 mount 服务

private synchronized IMountService getMountService(){     IBinder mountBinder = ServiceManager.getService("mount");    IMountService mountService = null;     if (service != null) {                mMountService = IMountService.Stub.asInterface(mountBinder);    } else {                Log.i("mountservice","just can not get the service");            }        return mountService;}


2 获得sdcard的状态


private String getExternalSdcardState(){    String state = Environment.MEDIA_REMOVED;     try{          StorageManager sm = (StorageManager)getSystemService(Context.STORAGE_SERVICE);           StorageVolume[] volumes = storagemanager.getVolumeList();            String path = volumes[i].getPath();                    if( !path.equals("/mnt/external_sdcard") ) {                        continue;                    }                    state = sm.getVolumeState(path);     }catch(Execption e){        }          return state;}


3 卸载sdcard

private void unmountExternalStorage() {            String state = getExternalSdcardState();            if (state.equals(Environment.MEDIA_MOUNTED)) {                IMountService service = getMountService();                try {                    service.unmountVolume("/mnt/external_sdcard", true, false);                } catch (RemoteException e) {                                   }            }        }

这段代码必须发在android 源码中编译,否则会报错

更多相关文章

  1. android中进行https连接的方式(源码)
  2. android联系人源码解析
  3. Android UI的加载源码分析
  4. android 项目源码
  5. Android 源码下载遇到 403错误 的解决办法
  6. j2me to android 例子源码下载
  7. Android存储基础及相关源码
  8. Android闹钟最终版【android源码闹钟解析】

随机推荐

  1. Android自学笔记(番外篇):全面搭建Linux环境
  2. 【工具类】Android获取平板物理唯一标识
  3. Android(安卓)自定义Drawable 实现圆角矩
  4. android8.0 反射Application 启动过程
  5. Aosp build mini_emulator_x86_64-userde
  6. Android(安卓)-- 跳转应用市场评分
  7. 固定定位做的登录页面案例
  8. vw+rem移动端响应式布局
  9. 20个常用正则表达式
  10. 漫画褶皱该怎么画?动漫衣服的褶皱画法