获取android手机的自带存储路径和sdcard存储路径 5

怎样获取android手机自带的闪存路径和外置sdcard路径,比如有些手机内置存储是mnt/sdcard,外置为mnt/sdcard1;但是有些手机内置存储是mnt/s... 怎样获取android手机自带的闪存路径和外置sdcard路径,比如有些手机内置存储是mnt/sdcard,外置为mnt/sdcard1;但是有些手机内置存储是mnt/sdcard,外置为mnt/extend1,怎么样能获取这些可用的存储路径呢? 展开
 我来答
仅仅是追忆
2018-10-08 · TA获得超过1.9万个赞
知道答主
回答量:55
采纳率:0%
帮助的人:2.5万
展开全部

android手机获取自带存储路径和sd卡存储路径的方式是:

调用Environment.getExternalStorageDirectory,返回的存储目录并不是系统内置的SD卡目录。


1、手机将eMC存储挂载到 /mnt/external_sd 、/mnt/sdcard2 等节点,而将外置的SD卡挂载到 Environment.getExternalStorgeDirectory这个结点。

2、而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2 等节点。调用Environment.getExternalStorgeDirectory,则返回内置的SD的路径。

扩展资料:

Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。

Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。

参考资料:百度百科-android

酒好烂
2018-09-12 · TA获得超过3308个赞
知道答主
回答量:42
采纳率:0%
帮助的人:1.2万
展开全部

1.方法一

//内置sd卡路径String sdcardPath = System.getenv("EXTERNAL_STORAGE"); //内置sd卡路径String sdcardPath = Environment.getExternalStorageDirectory().getAbsolutePath();//外置置sd卡路径String extSdcardPath = System.getenv("SECONDARY_STORAGE");

在Enviroment类的源码中获得sd卡路径其实也是通过 System.getnv() 方法来实现的,如隐藏的方法:

/** {@hide} */public static File getLegacyExternalStorageDirectory() {
return new File(System.getenv(ENV_EXTERNAL_STORAGE));}

注:更详细的内容还是去看Enviroment源码。
另外要注意的是,在API 23版本中 SECONDARY_STORAGE 被移除。

2.方法二

代码如下:

private static String getStoragePath(Context mContext, boolean is_removale) {  

StorageManager mStorageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE);
Class<?> storageVolumeClazz = null;
try {
storageVolumeClazz = Class.forName("android.os.storage.StorageVolume");
Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList");
Method getPath = storageVolumeClazz.getMethod("getPath");
Method isRemovable = storageVolumeClazz.getMethod("isRemovable");
Object result = getVolumeList.invoke(mStorageManager);
final int length = Array.getLength(result);
for (int i = 0; i < length; i++) {
Object storageVolumeElement = Array.get(result, i);
String path = (String) getPath.invoke(storageVolumeElement);
boolean removable = (Boolean) isRemovable.invoke(storageVolumeElement);
if (is_removale == removable) {
return path;
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return null;}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨曦乐园
2018-09-03 · TA获得超过1.1万个赞
知道答主
回答量:15
采纳率:0%
帮助的人:1万
展开全部

android手机获取自带存储路径和sd卡存储路径的方式是:

调用Environment.getExternalStorageDirectory(),返回的存储目录并不是系统内置的SD卡目录。


1.一部分手机将eMMC存储挂载到 /mnt/external_sd 、/mnt/sdcard2 等节点,而将外置的SD卡挂载到 Environment.getExternalStorageDirectory()这个结点。


此时,调用Environment.getExternalStorageDirectory(),则返回外置的SD的路径。


2.而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory()这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2 等节点。


此时,调用Environment.getExternalStorageDirectory(),则返回内置的SD的路径。

扩展资料:

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。

2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。

2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。

2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。但运营收入不及iOS。

参考资料:百度百科-android



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

推荐于2017-09-21 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
android手机获取自带存储路径和sd卡存储路径的方式是:调用Environment.getExternalStorageDirectory(),返回的存储目录并不是系统内置的SD卡目录。
1.一部分手机将eMMC存储挂载到 /mnt/external_sd 、/mnt/sdcard2 等节点,而将外置的SD卡挂载到 Environment.getExternalStorageDirectory()这个结点。
此时,调用Environment.getExternalStorageDirectory(),则返回外置的SD的路径。
2.而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory()这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2 等节点。
此时,调用Environment.getExternalStorageDirectory(),则返回内置的SD的路径。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
总闯初典13
2015-10-14 · 贡献了超过106个回答
知道答主
回答量:106
采纳率:100%
帮助的人:15.1万
展开全部
方法:
1点击手机的文件管理
2点击上方的本地选项
3显示内部储存的是自带储存路径,SD卡位sdcard的储存路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式