一种保证获取各种安卓手机外部存储卡路径的方法与流程

文档序号:11707318阅读:2029来源:国知局
一种保证获取各种安卓手机外部存储卡路径的方法与流程

本发明涉及计算机技术领域,尤其涉及一种保证获取各种安卓手机外部存储卡路径的方法。



背景技术:

随着智能手机的普及,市场上出现了各种品牌和类型的手机,而这些手机大部分都是安卓系统的智能手机。由于厂商不同,不同的品牌所用的操作系统也都各不相同,而且各自定义文件夹路径都有很大的区别,这就导致了用谷歌提供的普通方法获取不到有效的外部存储卡路径,本发明就是为了解决这个问题,通过多种方法去获取手机的外部存储卡路径,保证找到有效的外置存储卡的路径。



技术实现要素:

本发明的目的在于提出一种保证获取各种安卓手机外部存储卡路径的方法。

为达此目的,本发明采用以下技术方案:

一种保证获取各种安卓手机外部存储卡路径的方法,包括如下步骤:

步骤一:获取sd卡路径列表的步骤

a、高于4.3系统获取路径:

若安卓系统高于4.3时,通过安卓系统自带的sdk获取外部存储卡路径;

b、默认方法获取路径:

针对各种安卓手机,通过手机api提供的默认方法获取通用的外部存储卡路径;

c、读取系统配置文件获取路径:

获取手机系统配置文件信息,得到外部存储卡路径;

d、获取系统文件异常:

实施上述步骤a、b和c后,路径获取不成功则判断为出现异常,出现异常则执行e和f,否则执行g;

e、获取系统的路径map:

获取手机系统配置文件,获得键值对,依照每个关键词的值获取系统的路径;

f、根据文件夹获取指定路径:

根据常见的外部存储卡路径匹配当前系统的sd卡路径;

个别手机针对性设置特定路径:

针对个别手机采取逐个指定的方式获得sd卡路;

g、列表小于2:

生成可能sd卡路径的列表,列表中只提供2个可用的sd卡路径;

h、返回列表:

当获取到可用的sd卡列表时,返回给用户使用;

步骤二:验证sd卡路径列表的步骤

a、得到sd卡路径:

以步骤一中获取的sd卡路径列表为验证目标,向sd卡路径写入用于区别的特定文件;步骤a—f每一步获到路径后就必需写入这个文件,这个文件作为一个唯一标识;

b、查看特定文件:

查看sd卡路径是否含步骤a写入的特定文件,含该特定文件说明该路径已存在于列表中;

c、向得到的目录写入特定文件:

没有含有特定文件,则向该目录写入特定文件;

d、有效路径,加入列表:

写入成功,则路径是可读写路径,即为有效路径,加入列表。

e、无效目录:

写入失败,则该路径不可读写,视为无效任务,丢弃路径。

步骤f中所述关键字包括storage、secure、asec、firmware、shell或obb。

本发明通多种方式获取外部存储卡路径,确保了不同的品牌手机都能获得可用的外部存储卡路径,供开发人员使用,便于对应用程序的优化,以及手机系统内存的保护。

附图说明

图1是本发明的步骤一的流程图;

图2是本发明的步骤二的流程图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

一种保证获取各种安卓手机外部存储卡路径的方法,包括如下步骤:

步骤一:获取sd卡路径列表的步骤

a、高于4.3系统获取路径:

若安卓系统高于4.3时,通过安卓系统自带的sdk(softwaredevelopmentkit软件开发工具包)获取外部存储卡路径;高于4.3系统的sdk版本具有获取外部存储卡路径的工具。

b、默认方法获取路径:

针对各种安卓手机,通过手机api(applicationprogramminginterface应用程序编程接口)提供的默认方法获取通用的外部存储卡路径;任何版本安卓手机的api里面都有一个获取外部存储卡路的工具,但不一定能获取成功

c、读取系统配置文件获取路径:

获取手机系统配置文件信息,得到外部存储卡路径;

d、获取系统文件异常:获取异常只是针对步骤c方法,因为读取系统文件个别手机没有开放权限,或者没有这个文件,又或者打开出错,这时系统就会报错,为了让我们的方法能够正确的执行下去,我们会捕获这些异常,d步骤就是在捕获后执行的操作。

实施上述步骤a、b和c后,路径获取不成功则判断为出现异常,出现异常则执行e和f,否则执行g;

e、获取系统的路径map:

获取手机系统配置文件,获得键值对,依照每个关键词的值获取系统的路径;

f、根据文件夹获取指定路径:这里的匹配是用cmd命令获取一个关于系统目录的所有文件流,再从这些文件流中匹配(storage、secure、asec、firmware、shell或obb)含有这些字段的相关路径作为外部存储卡路径。

根据常见的外部存储卡路径匹配当前系统的sd卡路径;

个别手机针对性设置特定路径:

针对个别手机采取逐个指定的方式获得sd卡路;

某些手机例如华为、小米改写了谷歌原生安卓系统,并定义了自己的文件目录体系,因此获得手机产商型号后可给于指定特定外部存储卡路径。

g、列表小于2:

生成可能sd卡路径的列表,列表中只提供2个可用的sd卡路径;

h、返回列表:

当获取到可用的sd卡列表时,返回给用户使用;

步骤二:验证sd卡路径列表的步骤

a、得到sd卡路径:

以步骤一获取的sd卡路径列表为验证目标,向sd卡路径写入用于区别的特定文件;

步骤a—f中,每一步获到路径后就必需写入这个文件,这个文件作为一个唯一标识,作用有两个,第一确认这个路径是可以读写的,即是可用的。第二,保证获取到的路径不会重复,得到一个无重的外部存储卡路径的列表;

b、查看特定文件:

查看sd卡路径是否含步骤a写入的特定文件,含该特定文件说明该路径已存在于列表中;

c、向得到的目录写入特定文件:

没有含有特定文件,则向该目录写入特定文件;

d、有效路径,加入列表:

写入成功,则路径是可读写路径,即为有效路径,加入列表。

e、无效目录:

写入失败,则该路径不可读写,视为无效任务,丢弃路径。

步骤f中所述关键字包括storage、secure、asec、firmware、shell或obb。

对于市场众多不同厂商,不同品牌的手机,修改过后的安卓系统并不能成功地获取有效的外部存储卡路径,本发明针对市场上各类型的手机系统作出对应的方法去获取有效的手机外部存储卡路径,为的就是保存任何一台安卓手机,都可以拿到可读或可读写的外部存储卡路径。

获取手机外部存储卡路径的优点有以下几点:

(1)手机存储如果没有获取管理员的权限不能对其进行读写。

(2)应用数据储存在内置储存有可能被内存清理工具清理掉导致数据丢失。

(3)应用数据存在手机储存时,当应用卸载时,应用的数据将全部门清除,只有。

(4)将数存在外部存储卡,才能再次安装应用时,重用应用的旧数据。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1