获取设备唯一标识的方法、设备及计算机可读存储介质与流程

文档序号:14950350发布日期:2018-07-17 22:24阅读:110来源:国知局

本发明涉及通讯技术领域,尤其涉及一种获取设备唯一标识的方法、设备及计算机可读存储介质。



背景技术:

终端设备的设备唯一标识相当于终端设备的身份证,对用户的精细化运营与身份认证等均有重大意义。在现有技术中,移动终端通常是将设备唯一标识存储到系统配置文件中。而且,只有当终端用户被授予特殊权限时才能获取到系统配置文件中的设备唯一标识。因此,在现在技术中存在以下技术问题:1)由于不同的操作系统赋予终端用户的权限不同,如果终端用户未被赋予读取系统配置文件的权限,则获取不到设备唯一标识;2)如果赋予了终端用户读写权限,则系统配置文件中的内容可能会被篡改,进而导致终端用户无法获取到真实的设备唯一标识。



技术实现要素:

本发明的主要目的在于提出一种获取设备唯一标识的方法、设备及计算机可读存储介质,能够提高设备唯一标识的读写效率,并能够达到长期持久化的存储设备唯一标识的效果。

为实现上述目的,本发明提供了一种获取设备唯一标识的方法,所述方法包括:

当启动应用程序的主进程时,判断在终端设备的轻量级数据存储器sharedpreferences中是否存储有设备唯一标识;

在sharedpreferences中存储有设备唯一标识的情况下,从sharedpreferences中获取设备唯一标识。

可选的,所述方法还包括:

在sharedpreferences中不存储有设备唯一标识的情况下,判断在所述终端设备的只读存储器rom中是否存储有设备唯一标识;

若是,则从rom中获取设备唯一标识;

若否,则生成设备唯一标识,并将生成的设备唯一标识分别存储到sharedpreferences和rom中。

可选的,在sharedpreferences中存储有设备唯一标识的情况下,所述方法还包括:

将sharedpreferences中存储的设备唯一标识存储到所述终端设备的随机存取存储器ram中。

可选的,在将sharedpreferences中存储的设备唯一标识存储到所述终端设备的随机存取存储器ram中之后,所述方法还包括:

将sharedpreferences中存储的设备唯一标识存储到rom中。

可选的,在rom中存储有设备唯一标识的情况下,所述方法还包括:

将rom中存储的设备唯一标识分别存储到sharedpreferences和ram中。

可选的,在所述从rom中获取设备唯一标识之前,所述方法还包括:

判断rom中存储的设备唯一标识是否有效;

若是,则将rom中存储的设备唯一标识分别存储到sharedpreferences和ram中;

若否,则生成设备唯一标识。

可选的,所述判断rom中存储的设备唯一标识是否有效,包括:

若rom中存储的设备唯一标识的字符长度在设定的有效字符长度范围内,则所述设备唯一标识有效。

可选的,所述方法还包括:

在启动所述应用程序的非主进程时,从sharedpreferences中获取设备唯一标识。

此外,为实现上述目的,本发明还提出一种获取设备唯一标识的设备,所述设备包括:处理器、存储器及通信总线;

所述通信总线用于实现所述处理器和所述存储器之间的连接通信;

所述处理器用于执行所述存储器中存储的获取设备唯一标识的程序,以实现上述介绍的获取设备唯一标识的方法的步骤。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有获取设备唯一标识的程序;

当所述获取设备唯一标识的程序被至少一个处理器执行时,导致所述至少一个处理器执行上述介绍的获取设备唯一标识的方法的步骤。

本发明提出的获取设备唯一标识的方法、设备及计算机可读存储介质,通过混合使用sharedpreferences和rom技术,保证设备唯一标识不会轻易丢失,达到长期持久化的保存设备唯一标识的效果。本发明还能降低获取设备唯一标识的耗时,提高了设备唯一标识的读写效率,从而提高应用程序app的启动速度。

附图说明

图1是本发明第一实施例的获取设备唯一标识的方法的流程图;

图2是本发明第二实施例的获取设备唯一标识的方法的流程图;

图3是本发明第三实施例的获取设备唯一标识的设备的组成结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

本发明第一实施例,提出了一种获取设备唯一标识的方法,应用于终端设备,如图1所示,所述方法具体包括以下步骤:

步骤s101:当启动应用程序的主进程时,判断在终端设备的轻量级数据存储器sharedpreferences中是否存储有设备唯一标识。

步骤s102:在sharedpreferences中存储有设备唯一标识的情况下,从sharedpreferences中获取设备唯一标识。

具体的,在sharedpreferences中存储有设备唯一标识的情况下,所述方法还包括:

将sharedpreferences中存储的设备唯一标识存储到所述终端设备的随机存取存储器ram中。

在sharedpreferences中不存储有设备唯一标识的情况下,所述方法还包括:

判断在所述终端设备的只读存储器rom中是否存储有设备唯一标识;

若是,则从rom中获取设备唯一标识;

若否,则生成设备唯一标识,并将生成的设备唯一标识分别存储到sharedpreferences和rom中。

若在sharedpreferences和rom中都没有存储设备唯一标识,则认为所述终端设备为全新设备,通过工具类生成设备唯一标识,并将生成的设备唯一标识分别存储到sharedpreferences和rom中。通过使用sharedpreferences和rom共同保存设备唯一标识,可以达到长期持久化的存储设备唯一标识的效果。

进一步的,在rom中存储有设备唯一标识的情况下,所述方法还包括:

将rom中存储的设备唯一标识分别存储到sharedpreferences和ram中。

由于sharedpreferences的读写性能优于rom的读写性能,所以先判断在sharedpreferences中是否存储有设备唯一标识,从而提高获取设备唯一标识的读取效率。若在sharedpreferences中存储有设备唯一标识,则获取设备唯一标识;若在sharedpreferences中没有存储有设备唯一标识,则再判断在rom中是否存储有设备唯一标识;若在rom中存储有设备唯一标识,则获取设备唯一标识。

更进一步的,所述方法还包括:

在启动所述应用程序的非主进程时,直接从sharedpreferences中获取设备唯一标识。

通常,应用程序包括主进程和非主进程。在启动应用程序时,会首先启动主进行,等主进程完成启动后的初始化操作后,再进行非主进程的启动。由于在启动主进程后的初始化操作中,已经完成了设备唯一标识的获取,且在获取流程中完成了sharedpreferences和rom中的数据统一。所以在之后的启动非主进程的过程中,设备唯一标识一定是可以从sharedpreferences中获取的。

本发明第二实施例,提出了一种获取设备唯一标识的方法,应用于终端设备,如图2所示,所述方法具体包括以下步骤:

步骤s201:当启动终端设备上的应用程序app时,判断在sharedpreferences中是否存储有设备唯一标识;

若是,则执行步骤s202;若否,则执行步骤s203。

具体的,设备唯一标识是标识终端设备的一串码,可自生成或使用终端设备系统的imei。

sharedpreferences是安卓android平台上的一种轻量级的存储类,用来保存应用的一些常用配置。sharedpreferences将数据以键值对的方式存储在xml中。

步骤s202:获取在sharedpreferences中存储的设备唯一标识,并将在sharedpreferences中存储的设备唯一标识存储到终端设备的ram(random-accessmemory,随机存取存储器)中。

具体的,在将sharedpreferences中存储的设备唯一标识存储到ram中之后,可以选择性的将sharedpreferences中存储的设备唯一标识存储到rom中,从而保证sharedpreferences和rom中存储的设备唯一标识的一致性。

步骤s203:判断在rom中是否存储有设备唯一标识;

若是,则执行步骤s204;若否,则执行步骤s205;

步骤s204:获取在rom中存储的设备唯一标识,并将rom中存储的设备唯一标识分别存储到sharedpreferences和ram中。

具体的,在步骤s203之后,在步骤s204之前,所述方法还包括:

判断rom中存储的设备唯一标识是否有效;

若是,则执行步骤s204;

若否,则执行步骤s205。

进一步的,所述判断rom中存储的设备唯一标识是否有效,包括:

若rom中存储的设备唯一标识的字符长度在设定的有效字符长度范围内,则所述设备唯一标识有效。

优选的,设定的有效字符长度范围为0~20字符。

步骤s205:通过工具类生成设备唯一标识,并同时将生成的设备唯一标识分别存储到sharedpreferences、rom和ram中。

在app启动后,确保了在sharedpreferences、rom和ram中均存储有设备唯一标识,且保证了sharedpreferences、rom和ram中存储的设备唯一标识的一致性。

由于sharedpreferences的读写性能优于rom的读写性能,所以先判断在sharedpreferences中是否存储有设备唯一标识,从而提高获取设备唯一标识的读取效率。

通过使用sharedpreferences和rom共同保存设备唯一标识,可以达到长期持久化的存储设备唯一标识的效果。

本发明第三实施例,提出了一种获取设备唯一标识的设备,应用于终端设备,如图3所示,所述设备包括:处理器301、存储器302及通信总线;

通信总线用于实现处理器301和存储器302之间的连接通信;

处理器301用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

当启动应用程序的主进程时,判断在终端设备的轻量级数据存储器sharedpreferences中是否存储有设备唯一标识;

在sharedpreferences中存储有设备唯一标识的情况下,从sharedpreferences中获取设备唯一标识。

具体的,在sharedpreferences中不存储有设备唯一标识的情况下,处理器301还用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

判断在所述终端设备的只读存储器rom中是否存储有设备唯一标识;

若是,则从rom中获取设备唯一标识;

若否,则生成设备唯一标识,并将生成的设备唯一标识分别存储到sharedpreferences和rom中。

进一步的,在sharedpreferences中存储有设备唯一标识的情况下,处理器301还用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

将sharedpreferences中存储的设备唯一标识存储到所述终端设备的随机存取存储器ram中。

进一步的,处理器301还用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

在将sharedpreferences中存储的设备唯一标识存储到所述终端设备的随机存取存储器ram中之后,将sharedpreferences中存储的设备唯一标识存储到rom中。

进一步的,在rom中存储有设备唯一标识的情况下,处理器301还用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

将rom中存储的设备唯一标识分别存储到sharedpreferences和ram中。

进一步的,处理器301还用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

在所述从rom中获取设备唯一标识之前,判断rom中存储的设备唯一标识是否有效;

若是,则将rom中存储的设备唯一标识分别存储到sharedpreferences和ram中;

若否,则生成设备唯一标识。

进一步的,处理器301在执行所述判断rom中存储的设备唯一标识是否有效的步骤时,具体包括:

若rom中存储的设备唯一标识的字符长度在设定的有效字符长度范围内,则所述设备唯一标识有效。

进一步的,处理器301还用于执行存储器302中存储的获取设备唯一标识的程序,以实现以下步骤:

在启动所述应用程序的非主进程时,从sharedpreferences中获取设备唯一标识。

本发明的第四实施例,提出了一种计算机可读存储介质,应用于终端设备,所述计算机可读存储介质存储有获取设备唯一标识的程序;

当所述获取设备唯一标识的程序被至少一个处理器执行时,导致所述至少一个处理器执行以下步骤操作:

当启动应用程序的主进程时,判断在终端的轻量级数据存储器sharedpreferences或只读存储器rom中是否存储有设备唯一标识;

在sharedpreferences和rom中均不存储有设备唯一标识的情况下,生成设备唯一标识;

将生成的设备唯一标识存储到sharedpreferences和rom中。

本发明实施例中介绍的获取设备唯一标识的方法、设备及计算机可读存储介质,通过混合使用sharedpreferences和rom技术,保证设备唯一标识不会轻易丢失,达到长期持久化的保存设备唯一标识的效果。本发明还能降低获取设备唯一标识的耗时,提高了设备唯一标识的读写效率,从而提高应用程序app的启动速度。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

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