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) { } }
相关推荐
`StorageVolume`类(存在于`frameworks/base/core/java/android/os/storage/StorageVolume.java`)代表一个存储卷,包括内部存储和外置SD卡。它提供了获取存储卷信息以及执行挂载和卸载操作的方法。然而,由于它...
本文实例讲述了Android调用摄像头功能的方法。分享给大家供大家参考,具体如下: 我们要调用摄像头的拍照功能,显然 ...<uses android:name=android.permission.MOUNT_UNMOUNT_FILESYSTEMS> <use
### Android SD卡存储数据 #### 知识点一:Android应用权限管理 在Android系统中,应用程序如果想要访问外部存储(如SD卡)必须在`AndroidManifest.xml`文件中声明相应的权限。对于写入外部存储的操作,需要声明...
在Android平台上,开发人员需要处理各种任务,包括从外部存储(如SD卡)读取数据,特别是图片。本文将详细讲解如何在Android应用中读取SD卡中的图片,包括必要的权限设置、查找SD卡目录以及根据路径加载图片的步骤。...
在Android开发中,读写SD卡上的TXT文件是一项常见的需求,尤其是在需要存储或读取大量非结构化数据的应用场景下。根据给定的文件信息,我们可以深入探讨如何在Android应用中实现对SD卡上TXT文件的读写操作,以及相关...
在Android系统中,SD卡(Secure Digital Memory Card)是一种常用的外部存储介质,它主要用于扩展设备的存储空间,以便用户可以保存更多的数据和文件。为了使Android系统能够识别并正确地管理SD卡,系统采用了名为`...
"Android N获取外置SD卡或挂载U盘路径的方法" 在 Android N 中,获取外置 SD 卡或挂载 U 盘路径是件复杂的事情。因为 Android N 并不提供直接的方法来获取外置 SD 卡或挂载 U 盘路径,这使得开发者需要通过间接的...
在Android应用开发中,有时我们需要从设备的存储卡(如SD卡)中读取图片,并将这些图片显示在一个图像库组件(Gallery)中。以下是对该需求的技术分解及实现过程的详细说明。 #### 一、检查SD卡状态 在进行任何...
在Android开发中,进行SD卡文件操作是常见的需求,特别是在需要保存用户数据或者应用资源时。本文将深入探讨如何在Android应用中实现对SD卡的读写操作。 首先,访问SD卡需要相应的权限。在AndroidManifest.xml文件...
- **`MOUNT_UNMOUNT_FILESYSTEMS`**:允许应用挂载或卸载文件系统,如SD卡。 - **`WRITE_EXTERNAL_STORAGE`**:允许应用写入外部存储空间,即SD卡。 ##### 2. 创建SD卡镜像文件 如果是在模拟器中进行测试,我们...
另外,如果你的应用需要挂载或卸载文件系统(例如,格式化SD卡),还需要 `android.permission.MOUNT_UNMOUNT_FILESYSTEMS` 权限。在XML文件中添加如下内容: ```xml <!-- 在SDCard中创建于删除文件的权限 --> ...
1. `android.permission.MOUNT_UNMOUNT_FILESYSTEMS`:这个权限允许应用执行挂载和卸载文件系统操作,比如读取SD卡的状态。 2. `android.permission.WRITE_EXTERNAL_STORAGE`:这个权限允许应用写入外部存储(如SD卡...
在Android开发中,有时我们需要将数据库存储在外部存储器(如SD卡)上,以便于数据备份、恢复或与其他应用共享。本篇文章将详细介绍如何在Android应用中实现从SD卡读取数据库,以及涉及到的权限控制和相关操作技巧。...
4. 存储卡权限:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 三、动态权限代码 在Android ...
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 解压压缩包opencv231_Android.rar 拷贝openvc...
2. `MOUNT_UNMOUNT_FILESYSTEMS`和`WRITE_EXTERNAL_STORAGE`权限:用于在SD卡上保存拍摄的照片,确保应用有读写外部存储的权限。 ```xml <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILE...
Android提供了多种方式来访问和操作文件,包括内部存储、外部存储(SD卡)以及ContentProvider等。本文将详细介绍一个常见的自定义`FileUtil`类,用于在Android中执行文件的增删改查操作。 首先,`FileUtil`类通常...