Android SD 卡的內容需要刷新才能讀取(從其它地方copy[PC或內部存儲])
使用mount/unmount的方法
代碼如下:
private void mountUnmountSD(boolean mMount) { StorageManager mStorageManager; mStorageManager = getApplicationContext().getSystemService(StorageManager.class); final List<VolumeInfo> 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<Void, Void, Exception> { 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<Void, Void, Exception> { 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) { } }
相关推荐
Android 下通过反射调用加载/卸载(mount/unmount) 外置SD卡
注意:需要添加三个权限 WRITE_EXTERNAL_STORAGE、READ_EXTERNAL_STORAGE、MOUNT_UNMOUNT_FILESYSTEMS。作者:邹峰立,微博:zrunker,邮箱:,微信公众号:书客创作,个人平台:。本文选自平台第20篇文章。 。在...
本文实例讲述了Android调用摄像头功能的方法。分享给大家供大家参考,具体如下: 我们要调用摄像头的拍照功能,显然 ...<uses android:name=android.permission.MOUNT_UNMOUNT_FILESYSTEMS> <use
与自带存储不同的是使用sd卡需要用户授权 <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE/> <uses android:name=android.permission.MOUNT_UNMOUNT_FILESYSTEMS/> 千万要记住不能写颠倒了,不然看...
<uses android:name=android.permission.MOUNT_UNMOUNT_FILESYSTEMS/> <!-- 往SDCard写入数据权限 --> <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE/> <!-- 从SDCard读取数据权限 -->...
本文实例讲述了android编程实现sd卡读取数据库的方法。分享给大家供大家参考,具体如下: 先在 Manifest 里添加权限: <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE> <uses android:name=android...
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 解压压缩包opencv231_Android.rar 拷贝openvc...
扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)。 'android.intent.action.MEDIA_BAD_REMOVAL' 用户想要移除扩展介质(拔掉扩展卡)。 'android.intent.action.MEDIA_EJECT...
模拟器中创建SDCard卡镜像文件,可以在创建模拟器是创建,也可以在Dos窗口中进行android SDK安装路径tools目录,输入如下命令:mksdcard 2048M D:\AndroidTool\sdcard.img在程序中访问SDCard,需要如下权限:在SDCard...
android.permission.MOUNT_UNMOUNT_FILESYSTEMS android.permission.WRITE_EXTERNAL_STORAGE 总体布局 写界面,使用ListView,创建条目的布局文件,水平摆放的ImageView TextView 在activity中获取到ListView...