很简单,就是获取外部、内部存储卡路径,不废话,具体详见代码及注释:
public enum StorageType
{
ST_Rom_DataDir, // Android Rom 中data目录
ST_Rom_AppDir, // Android Rom 中data下app可操作目录
ST_SDCard_RootDir, // 最大的SD卡的根目录
};
public static File getStorageDirectory(StorageType st)
{
File f = null;
if (st.equals(StorageType.ST_Rom_DataDir))
{
f = Environment.getDataDirectory();
}
else if (st.equals(StorageType.ST_Rom_AppDir))
{
f = XApplication.getAppContext().getFilesDir();
}
else if (st.equals(StorageType.ST_SDCard_RootDir))
{
String sysESDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String maxESDir = getMaxStorageDir();
if (maxESDir.isEmpty() || sysESDir.equals(maxESDir))
{
f = Environment.getExternalStorageDirectory();
}
else
{
f = new File(maxESDir);
}
}
return f;
}
/**
* 判断手机是否有SD卡。
*
* @return 有SD卡返回true,没有返回false。
*/
public static boolean hasSDCard()
{
// return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
{
return true;
}
else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(Environment.getExternalStorageState()))
{
return false;
}
else
{
return false;
}
}
/**
* 获取图片的本地存储路径。
*
* @return 图片的本地存储路径。
*/
public static String getPath()
{
String path = "";
// 没有sd卡存放到STRom_dataDir下
if (!hasSDCard())
{
File f = getStorageDirectory(StorageType.ST_Rom_DataDir);
path = f.getAbsolutePath();
}
else
{
File f = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
if (!f.exists())
{
// 如果没有DCIM目录, 就放到sd卡
f = Environment.getExternalStorageDirectory();
}
path = f.getPath() + "/" + "picture";
}
return path;
}
/**
* 检查sdk权限,检查默认照片存储路径是否存在,不在则创建
*
* @return
*/
public static boolean checkPath()
{
String path = getPath();
File file = new File(path);
if (!file.exists())
{
file.mkdir();
}
if (path.lastIndexOf("picture") != -1)
{
return true;
}
return false;
}
分享到:
相关推荐
来获取内置SD卡的路径,但是每款定制过的android 系统的外置SD卡的路径都不一样,那我们怎么才能去获取这个路径呢,我们可以想其它的办法,我这里提供了一个类可以获取外置SD卡或内置SD卡的 label(名称),path(路径)...
android 获取外置内存卡android获取sdcard内存路径android判断外置sd卡是否存在Android 获取内外置存储卡方法
Unity程序获取外置SD卡路径方法,包内包含PicoVR SDK,场景安装打包在手机上,可以看到分屏反畸变效果。
Android系统数据存储分为内部存储和外部存储,内部存储是手机系统自带的存储,一般空间都不大,外部存储一般是SD卡的存储,空间一般都比较大。一般我们会把存储内容放在外部存储空间里。在使用过程需要注意事项: 先...
我们知道Android上一般都有外置的存储卡, 但是通过Environment.getExternalStorageDirectory()获取的是内置的存储卡位置 (也有的手机可以在系统中修改默认存储) 那么如何获取外置存储卡的位置呢? 我们可以通过...
外部存储 sharedpreferences:link. 本文主要介绍外部存储的相关知识。 存储路径:/storage/emulated/0 ———————————————————————————————————————— 1、向SD卡写数据 步骤:...
Android studio 亲测,华为手机,开发板都可以, 调用方法获取存储器列表list(包括SD卡的路径),获取之后把程序改成自己想访问的存储器,注:需要手动改一下路径
Android手机存储分为两个部分:内部存储和外部存储,内部存储一般是手机自带的存储空间,外部存储指外插SD卡提供的存储空间;随着手机发展,这两个存储的定义又有了一些些变化,新的手机不再有外插SD卡的概念,...
外部存储——SD卡 资源文件——只读( RAW 、XML) (3)数据库存储——SQLiteDataBase 今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenHelper中需要重载函数: ...
getAndroidID : 获取设备 AndroidID getMacAddress : 获取设备 MAC 地址 getManufacturer : 获取设备厂商 getModel : 获取设备型号 shutdown : 关机 reboot : 重启 reboot2Recovery : 重启到 recovery reboot2...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
如果您的电话具有内置存储,则默认备份位置可能是内部存储卡,而不是外部存储卡。这是因为电话以这种方式报告存储。如果要在手机上恢复出厂设置,请在执行操作之前确保默认备份文件夹位于外部SD卡中。如果没有,请...
第9章分析了Vold和Rild,其中Vold负责Android平台中外部存储设备的管理,而Rild负责与射频通信有关的工作。本章的拓展思考部分介绍了嵌入式系统中与存储有关的知识,还探讨了 Rild和Phone设计优化方面的问题。 ...
根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念。 其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对...
如果您的手机具有内置存储,则默认备份位置可能是内部存储卡,而不是外部存储卡。这是因为手机以这种方式报告存储。如果您打算在手机上恢复出厂设置,请在执行此操作之前确保默认备份文件夹位于外部SD卡中。如果没有...
用于安卓手自我的一个好友偷摸搬运过来、刷机精灵、甜辣椒什么的有时对机型支持并不是那么完善的、关键...sdcard sd卡分区(外部储存) data data分区(外部储存) system 系统分区 cache 缓存分区 机与电脑操控
|--android 根据uri获取路径 |--android 模拟器错误 |--android 横竖屏切换 |--android 获取mac地址 |--android 获取sd卡状态 |--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 ...
有时候为了需要,会将数据库保存到外部存储或者SD卡中(对于这种情况可以通过加密数据来避免数据被破解),比如一个应用支持多个数据,每个数据都需要有一个对应的数据库,并且数据库中的信息量特别大时,这显然更...
支持内部存储,外部SD卡,OTG存储,安装点。 Android Kitkat有对外部SD卡的访问限制,请参阅下面的“已知问题”。 在“设置 – 常规”中指定文件类型|扩展|大小。 预览|定位|共享|保存图像,音频,视频或应用程序,...