一种共享应用程序的方法及装置的制作方法

文档序号:6484232阅读:125来源:国知局
专利名称:一种共享应用程序的方法及装置的制作方法
技术领域
本发明涉及无线通信领域,特别是涉及一种共享应用程序的方法及装置。
背景技术
目前,手机等移动终端普遍都自带蓝牙、红外、WIFI等传输设备,使用这些传输设 备可以方便地实现不同手机之间的数据共享。以蓝牙设备为例,通过蓝牙传输方式可以传 输多媒体文件(如图片、音频、视频文件等等)、文本文件等。例如,假设用户A的手机上保 存有一幅图片,而用户B对这幅图片感兴趣,那么只需要用户A及用户B均打开蓝牙,然后 就可以通过蓝牙将用户A手机上的这幅图片传送到用户B的手机上,而无须再通过网络搜 索等途径去获取这幅图片。随着手机的智能化发展,一些手机上允许安装应用程序。但是,目前却无法实现应 用程序在不同移动终端之间的共享。例如,假设用户A的手机上安装有一个应用程序,而用 户B也想安装这个应用程序;此时,用户B只能通过网络下载该应用程序的安装文件并进行 安装,而无法从用户A的手机上共享该应用程序。但这样的应用程序安装过程,在浪费网络 流量的同时,还会降低安装应用程序的效率。

发明内容
本发明实施例提供一种共享应用程序的方法及装置,以解决现有技术无法在终端 之间共享应用程序的问题。为实现上述目的,本发明提供了如下方案一种共享应用程序的方法,包括应用程序被安装时,通过查找当前正在被安装的文件,获取所述应用程序的安装 文件所在的文件目录;当需要共享所述应用程序时,到所述安装文件所在的文件目录中提取所述安装文 件,并将所述安装文件传输到接收端。优选的,所述将所述安装文件传输到接收端包括通过预置的接口将所述安装文件传输到接收端;所述预置的接口允许传输应用程 序安装文件。优选的,所述查找当前正在被安装的文件包括在所有被打开的文件中,通过查找指定后缀名的文件查找当前正在被安装的文 件。优选的,所述获取所述应用程序的安装文件所在的文件目录之后还包括将所述应用程序的安装文件备份在预置的文件目录中;将所述预置的文件目录确定为所述安装文件所在的文件目录。优选的,所述通过查找当前正在被安装的文件,获取所述应用程序的安装文件所 在的文件目录包括
在公共目录中查找所述当前正在被安装的文件,如果查找到,获取所述应用程序 的安装文件所在的文件目录;所述将所述应用程序的安装文件备份在预置的文件目录中包 括复制所述当前正在被安装的文件,并保存在预置的文件目录中;否则在私有目录 中查找。优选的,所述通过查找当前正在被安装的文件,获取所述应用程序的安装文件所 在的文件目录包括通过系统提供的接口查找到所述当前正在被安装的文件所在的私有目录;所述将所述应用程序的安装文件保存在预置的文件目录中包括获取所述私有目录中的句柄,并利用所述句柄重写所述应用程序的安装文件,并 保存在预置的文件目录中。一种共享应用程序的装置,包括查找单元,用于应用程序被安装时,通过查找当前正在被安装的文件,获取该应用 程序的安装文件所在的文件目录;传输单元,用于当需要共享所述应用程序时,到所述安装文件所在的文件目录中 提取所述安装文件,并将所述安装文件传输到接收端。优选的,所述传输单元通过预置的接口将所述安装文件传输到接收端;所述预置 的接口允许传输应用程序安装文件。优选的,所述查找单元具体用于在所有被打开的文件中,通过查找指定后缀名的文件查找当前正在被安装的文 件,并记录所述安装文件所在的文件目录。优选的,还包括保存单元,用于将所述应用程序的安装文件备份在预置的文件目录中,并将所述 预置的文件目录确定为所述安装文件所在的文件目录。优选的,所述查找单元包括公共目录查找子单元,用于在公共目录中查找所述当前正在被安装的文件,获取 所述应用程序的安装文件所在的文件目录;所述保存单元包括复制子单元,用于如果在公共目录中查找到所述当前正在被安装的文件,复制所 述当前正在被安装的文件,并保存在预置的文件目录中;否则触发所述查找单元在私有目 录中查找。优选的,所述查找单元包括私有目录查找子单元,用于通过系统提供的接口查找到所述当前正在被安装的文 件所在的私有目录,获取所述应用程序的安装文件所在的文件目录;所述保存单元包括重写子单元,用于获取所述私有目录中的句柄,并利用所述句柄重写所述应用程 序的安装文件,并保存在预置的文件目录中。根据本发明提供的具体实施例,本发明公开了以下技术效果本发明实施例在安装应用程序时,通过查找当前正在被安装的文件,获取该应用程序的安装文件所在的文件目录;当需要共享所述应用程序时,到所述安装文件所在的文 件目录中提取所述安装文件,并将所述安装文件传输到接收端。因此,通过本发明实施例, 可以获取到应用程序的安装文件所在的文件目录,这样就可以通过传输设备传送应用程序 的安装文件了,因此,用户需要安装某应用程序时,可以到其他的终端上共享该应用程序, 无需再重新通过网络下载来获得其安装文件,因此可以节省网络流量,提高安装应用程序 的效率。另外,通过在系统打开的所有文件中,查找指定后缀名的文件的方式来查找当前 正在被安装的文件的方法,可以更加准确地找到应用程序的安装文件。此外,还可以对安装 文件进行备份,以避免原安装文件被删除而导致无法找到安装文件的情况发生;而且即使 当前正在被安装的文件由于被缓存在私有目录中而无法被复制,也可以通过获取句柄重写 应用程序的安装文件。


图1是本发明实施例提供的方法的流程图;图2是本发明实施例提供的另一方法的流程图;图3是本发明实施例提供的装置的示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。参见图1,本发明实施例提供的共享应用程序的方法包括以下步骤S101 应用程序被安装时,通过查找当前正在被安装的文件,获取所述应用程序的 安装文件所在的文件目录;首先需要说明的是,本发明实施例提供的方法适用于各种移动终端(手机、PDA 等)之间应用程序的共享。而本发明实施例的目的就在于,通过技术手段,实现应用程序在 不同的移动终端之间的共享,也就是说,使得应用程序具有能够将自身共享出去的功能。众所周知的是,要想在系统中运行应用程序,首先需要获取该应用程序的安装文 件,然后通过该安装文件将该应用程序安装在系统中,这时应用程序才能正常运行。而已经 安装好的应用程序不能脱离系统而独立存在,进而也是不能直接被传输的。因此,要想实现 应用程序的共享,需要在不同移动终端之间传输的是应用程序的安装文件,接收方接收到 安装文件后,再进行应用程序的安装操作。因此,所谓应用程序能够具有将自身共享出去,实质上是需要将其安装文件传输 到其他的终端上。然而,移动终端在下载安装文件时可能会将安装文件保存在某个目录 (例如存储卡下的某个子目录等等)下,应用程序在安装完成之后,将会与原安装文件成为 相互独立的两个文件,而且应用程序也无法自动找到该安装文件。因此,如果要使应用程序 实现将自身共享出去的功能,首先需要使应用程序能够查找到其安装文件。以在手机上安装应用程序为例,当用户需要安装一个应用程序时,会首先通过手 机自带的浏览器从互联网上的下载站点下载安装文件,下载完成之后,会将安装文件保存 在手机的某个文件目录中。在现有技术中,如果不做任何处理,应用程序将无法自动找到安装文件被保存的位置。但是,在应用程序被安装的过程中(即在安装完成之前),其安装文件会被打开, 而且,系统不允许同时安装多个文件,因此,本发明实施例采用的方法是,应用程序在被安 装的过程中,通过查找当前正在被安装的文件,获取到该应用程序的安装文件所在的文件 目录。S102:当需要传输所述应用程序的安装文件时,到所述安装文件所在的文件目录 中提取所述安装文件,并将所述安装文件传输到接收端。其中,进行传输时,采用的传输方式可以包括有线传输(例如两部手机之间通过 mini USB接口进行传输),以及使用蓝牙、红外、WIFI等设备的无线传输;即,本发明实施例 对具体的传输方式不做限定。需要说明的是,在使用蓝牙等设备进行传输时为了防止病毒的传播、保证安全性, 一般的蓝牙协议有可能不允许传输可执行文件(即应用程序的安装文件)。也就是说,即使 应用程序获取到了其安装文件,如果使用这种蓝牙设备已经封装好的接口,可能还是无法 进行应用程序安装文件的传输。为此,本发明实施例可以单独提供一个接口,使用自定义的 传输协议来实现应用程序安装文件的传输。使用该自定义的传输协议时,保证应用程序的 安装文件不会被拦截即可,对于其具体形式,可以根据需要自行设置。在本发明实施例中, 如果是通过蓝牙设备进行传输,也可以直接使用对象交换协议(Object Exchange,OBEX)来 实现。所述OBEX协议是由红外技术协会定义的会话协议,提供了一个对象表示模型和 一个会话协议,这两个协议确定了两设备间的会话框架。OBEX协议通过简易的运用“PUT” 与“GET”命令可以实现不同的设备、不同的平台之间方便、高效的交换信息。支持的设备广 泛,例如PC、PDA、电话、摄像头、主动答录机、计算器、数据采集器等。可见,按照本发明实施例提供的上述方法,可以找到应用程序安装文件保存的路 径,则在需要进行传输时,通过该路径找到需要的安装文件,并进行传输即可;如果当前传 输协议不允许传输可执行文件,则可以通过一个预置的接口进行传输。需要说明的是,步骤S101及步骤S102的执行主体为应用程序。S卩,在本发明实施 例提供的方法中,并不需要用户手动地找到安装文件(实际上用户可能也很难找到或记住 安装文件的保存位置),而是在应用程序被安装的过程中,使应用程序可以自动执行查找安 装文件的操作,获取到安装文件的保存路径;在被触发需要传输该安装文件时,通过所述保 存路径自动地提取到安装文件,并完成安装文件的传输。其中,所述触发的动作是由用户发 起的,应用程序的选项中可以包括形如“通过蓝牙发送”的选项,用户可以通过选择这一选 项来发起安装文件的传输。此时,应用程序可以自动根据已经查找到的路径找到其安装文 件,并通过预置的接口发送即可。即,在实现应用程序共享的过程中,用户只需要打开需要 共享的应用程序(用户虽然很难找到安装文件所在的位置,但是很容易找到应用程序所在 的位置),并在选项中选择将其传输出去即可。在实际应用中,移动终端在使用自带的浏览器或其他的工具在下载并安装完成应 用程序之后,可能会自动将应用程序的安装文件清除,移动终端本地无法保存应用程序的 安装文件;在这种情况下,如果仅仅获取到安装文件的保存路径,可能还是无法实现安装文 件的传输,因为安装文件已经被删除,在获取到的保存路径下已经无法找到原安装文件。
因此,为了避免这种情况的发生,在查找到安装文件之后,还可以将所述应用程序 的安装文件保存在预置的文件目录中。也就是说,在获取到应用程序的安装文件之后,可以 将其备份在一个预先指定的文件目录中。这样,相当于对应用程序的安装文件进行了备份, 由于该安装文件已经被备份在移动终端本地,因此即使在安装结束后原安装文件被自动删 除,还是可以通过其备份找到该安装文件,依然能够正常地进行传输。其中,步骤SlOl中查找当前正在被安装的文件的具体方式可以有多种,例如,可 以使用自保存的方式来实现,即应用程序在被安装时,扫描移动终端中预先指定的该程序 的安装文件名称,如“abc.sisx”,如果扫描到则进行保存。但是这种方法可能会存在以下问 题首先,用于扫描的安装文件名称是预先设置好的,如果下载站点或用户在下载时将安装 文件的名称进行了修改,例如改成了 “abcl.sisx”,则会造成无法搜索到该安装文件,导致 搜索失败。另一方面,这种搜索仅能搜索移动终端中的公开目录,而无法对私有目录进行搜 索。也就是说,如果安装文件被缓存在公开目录中,则可能被搜索到,否则,如果被缓存在私 有目录中,则是无法被搜索到的,最终也将导致搜索失败。因此,这种查找方法能够成功查 找到应用程序安装文件的概率比较低。为此,本发明实施例采用了另一种更有效的方法,S卩,在所有被打开的文件中,通 过查找指定后缀名的文件查找当前正在被安装的文件。由于应用程序在被安装的过程中, 会打开一些文件,其中包括该应用程序的安装文件。而安装文件的后缀名是不能被修改的 (因为一旦修改,可能导致该安装文件无法被正常打开),因此,可以在系统所 有被打开的 文件中,根据文件的后缀名查找安装文件。例如,Symbian系统中的安装文件均以“sisx” 为后缀名,因此,如果某手机使用的是Symbian系统,则可以在所有被打开的文件中查找以 “sisx”为后缀名的文件,该文件就是该应用程序的安装文件。当然,本发明实施例提供的方 法并不限于Symbian系统,使用其他操作系统时,做类似处理即可,这里不再赘述。其中,利用该方法查找应用程序安装文件的过程中,可以首先查找公共目录,如果 查找到,则直接将该文件确定为应用程序的安装文件,并将该公共目录确定为所述安装文 件所在的文件目录。如果需要备份,则直接将其复制并保存到指定目录即可。如果在公共目 录中无法查找到,则可以通过一个接口去查找私有目录,其中该接口可以由操作系统提供。 但是,此时,如果需要对安装文件进行备份,则即使查找到所述安装文件当前被保存在哪个 私有目录中,可能也是无法从该私有目录中复制该文件的,因为私有目录中的文件一般不 允许被复制。为此,本发明实施例可以采用如下方法查找到应用程序的安装文件所在的私有目录之后,获取该目录中的句柄,并利用 这些句柄来重写应用程序的安装文件,然后将该文件保存在所述指定的目录中。具体的,可 以首先通过所述句柄获取所述安装文件中的数据,并利用所述数据来重写所述安装文件。 当然,由于多数情况下应用程序的安装文件都会保存在私有目录下,因此,也可以直接通过 系统提供的接口在私有目录中进行查找。其中,所述句柄是一种指向指针的指针,用于记载对象在内存中的地址。因此,可 以通过句柄来找到对象在内存中的地址,进而根据对象在内存中的地址找到实际的对象。 在本发明实施例中,所述对象就是指所述安装文件中的数据。为了更好地理解本发明实施例提供的方法,下面通过一个具体的例子进行详细地 描述,在该例子中,假设移动终端为手机,使用蓝牙设备进行传输,应用程序为搜狗输入法,参见图2,包括以下步骤S201 通过浏览器将搜狗输入法安装文件下载完成之后,正在被执行安装;此时, 搜狗输入法搜索系统中当前正在被安装的文件,由于手机中使用的系统在同一时刻只允许 安装一个文件,因此该当前正在被安装的文件即可确认为该应用程序的安装文件;S202 查找该安装文件所在的文件目录;
S203 判断所述文件目录是否为公共目录;S204 如果是在公共目录中,则直接将该安装文件复制,并转到步骤S206 ;S205:如果是在收件箱等私有目录中,则无法直接进行复制保存,因此,通过句柄 获取该安装文件的数据,并利用这些数据重写该安装文件,并转到步骤S206 ;S206 将所述安装文件保存在所述预先指定的文件目录中;S207:拥有该手机的用户打开搜狗输入法,在选项中选择通过蓝牙将该安装文件 发送给某好友,蓝牙设备搜索周围的蓝牙设备,进行匹配;S208 匹配之后,通过预置的蓝牙协议,将所述安装文件发送给所述相匹配的蓝牙 设备;如果所述蓝牙协议为OBEX,则首先建立一个用于传输数据的蓝牙连接;S209 创建OBEX会话,到所述预定的文件目录中提取相应的安装文件。OBEX会话 创建之后,首先发送一个协议头,再发送安装文件内容;发送完毕之后可以断开连接,整个 蓝牙传输过程结束;S210 接收端会接收到一个TXT格式的文件(是一个使用说明)以及所搜狗输入 法的安装文件;然后接收端就可以使用该安装文件来安装搜狗输入法了,而不需要再通过 网络下载搜狗输入法安装文件,节省了网络流量,提高了安装应用程序的效率。与本发明实施例所述的共享应用程序的方法相对应,本发明实施例还提供了一种 共享应用程序的装置,参见图3,该装置包括以下单元查找单元U301,用于应用程序被安装时,通过查找当前正在被安装的文件,获取所 述应用程序的安装文件所在的文件目录;传输单元U302,用于当需要共享所述应用程序时,到所述安装文件所在的文件目 录中提取所述安装文件,并将所述安装文件传输到接收端。应用程序被安装时,首先用查找单元U301通过查找当前正在被安装的文件,获取 该应用程序的安装文件所在的文件目录,这样,便为传输该安装文件奠定了基础。当需要共 享所述应用程序时,传输单元U302到所述安装文件所在的文件目录中提取所述安装文件, 并将所述安装文件传输到接收端。但是,一些传输协议(例如,蓝牙设备自带的蓝牙传输协议)可能不允许传输可执 行文件,因此,当需要使用蓝牙设备传输所述应用程序的安装文件时,传输单元U302可以 通过预置的接口进行传输。通过该接口传输时,可执行文件不会被拦截,因此,可以完成应 用程序安装文件的传输。其中,查找单元U301可以在所有被打开的文件中,通过查找指定后缀名的文件查 找当前正在被安装的文件,并记录所述安装文件所在的文件目录。这样可以精确地查找到 应用程序的安装文件,提高搜索的成功率。由于在手机等移动终端使用的操作系统中,一旦安装完某个应用程序之后,可能 会自动将该应用程序的安装文件删除,手机本地不会保存应用程序的安装文件,因此,如果需要通过蓝牙等来传输应用程序的安装文件,则需要在获取到应用程序的安装文件所在的 文件目录之后,将其备份到一个预先指定的文件目录中。此时,该装置还包括保存单元U303,用于将所述应用程序的安装文件备份在预置的文件目录中,并将所述预置的文件目录确定为所述安装文件所在的文件目录。为了将查找到的应用程序安装文件保存在预置的文件目录中,可以首先在公共目 录中查找,如果通过查找发现应用程序的安装文件被缓存于公共目录中,则可以直接复制 该安装文件,此时,查找单元U301包括公共目录查找子单元U3011,用于在公共目录中查找所述当前正在被安装的文件, 如果查找到,获取所述应用程序的安装文件所在的文件目录;保存单元U303包括复制子单元U3031,用于如果在公共目录中查找到所述当前正在被安装的文件,复 制所述当前正在被安装的文件,并保存在预置的文件目录中;否则触发查找单元U301在私 有目录中查找。如果通过查找在公共目录中没有找到应用程序的安装文件,则可以通过系统提供 的接口来查找私有目录;找到存放该安装文件的私有目录后,由于私有目录中的文件不允 许被复制,因此,此时可以获取该私有目录中的句柄,通过句柄获取到安装文件中的数据, 并用这些数据来重写所述安装文件。此时,查找单元U301可以包括以下子单元私有目录查找子单元U3012,用于通过预置的接口查找到所述当前正在被安装的 文件所在的私有目录,获取所述应用程序的安装文件所在的文件目录;保存单元U303包括重写子单元U3032,用于获取所述私有目录中的句柄,并利用所述句柄重写所述应 用程序的安装文件,并保存在预置的文件目录中。当然,由于多数情况下应用程序的安装文件都会保存在私有目录下,因此,也可以 直接通过私有目录查找子单元U3012在私有目录中进行查找。获取到应用程序的安装文件之后,便可以通过传输单元U302传输该安装文件了。 传输单元U302所使用的传输协议只要保证可执行文件不会被拦截即可。对于使用蓝牙设 备的传输方式,优选的,可以使用对象交换协议OBEX来完成。以上对本发明所提供的一种共享应用程序方法及装置,进行了详细介绍,本文中 应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助 理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本 发明的限制。
权利要求
一种共享应用程序的方法,其特征在于,包括应用程序被安装时,通过查找当前正在被安装的文件,获取所述应用程序的安装文件所在的文件目录;当需要共享所述应用程序时,到所述安装文件所在的文件目录中提取所述安装文件,并将所述安装文件传输到接收端。
2.根据权利要求1所述的方法,其特征在于,所述将所述安装文件传输到接收端包括 通过预置的接口将所述安装文件传输到接收端;所述预置的接口允许传输应用程序安装文件。
3.根据权利要求1所述的方法,其特征在于,所述查找当前正在被安装的文件包括 在所有被打开的文件中,通过查找指定后缀名的文件查找当前正在被安装的文件。
4.根据权利要求1所述的方法,其特征在于,所述获取所述应用程序的安装文件所在 的文件目录之后还包括将所述应用程序的安装文件备份在预置的文件目录中; 将所述预置的文件目录确定为所述安装文件所在的文件目录。
5.根据权利要求4所述的方法,其特征在于,所述通过查找当前正在被安装的文件,获 取所述应用程序的安装文件所在的文件目录包括在公共目录中查找所述当前正在被安装的文件,如果查找到,获取所述应用程序的安 装文件所在的文件目录;所述将所述应用程序的安装文件备份在预置的文件目录中包括 复制所述当前正在被安装的文件,并保存在预置的文件目录中;否则在私有目录中查找。
6.根据权利要求4或5所述的方法,其特征在于,所述通过查找当前正在被安装的文 件,获取所述应用程序的安装文件所在的文件目录包括通过系统提供的接口查找到所述当前正在被安装的文件所在的私有目录; 所述将所述应用程序的安装文件保存在预置的文件目录中包括 获取所述私有目录中的句柄,并利用所述句柄重写所述应用程序的安装文件,并保存 在预置的文件目录中。
7.一种共享应用程序的装置,其特征在于,包括查找单元,用于应用程序被安装时,通过查找当前正在被安装的文件,获取该应用程序 的安装文件所在的文件目录;传输单元,用于当需要共享所述应用程序时,到所述安装文件所在的文件目录中提取 所述安装文件,并将所述安装文件传输到接收端。
8.根据权利要求7所述的装置,其特征在于,所述传输单元通过预置的接口将所述安 装文件传输到接收端;所述预置的接口允许传输应用程序安装文件。
9.根据权利要求7所述的装置,其特征在于,所述查找单元具体用于在所有被打开的文件中,通过查找指定后缀名的文件查找当前正在被安装的文件,并 记录所述安装文件所在的文件目录。
10.根据权利要求7所述的装置,其特征在于,还包括保存单元,用于将所述应用程序的安装文件备份在预置的文件目录中,并将所述预置 的文件目录确定为所述安装文件所在的文件目录。
11.根据权利要求10所述的装置,其特征在于,所述查找单元包括公共目录查找子单元,用于在公共目录中查找所述当前正在被安装的文件,获取所述 应用程序的安装文件所在的文件目录; 所述保存单元包括复制子单元,用于如果在公共目录中查找到所述当前正在被安装的文件,复制所述当 前正在被安装的文件,并保存在预置的文件目录中;否则触发所述查找单元在私有目录中查找。
12.根据权利要求10或11所述的装置,其特征在于,所述查找单元包括私有目录查找子单元,用于通过系统提供的接口查找到所述当前正在被安装的文件所 在的私有目录,获取所述应用程序的安装文件所在的文件目录; 所述保存单元包括重写子单元,用于获取所述私有目录中的句柄,并利用所述句柄重写所述应用程序的 安装文件,并保存在预置的文件目录中。
全文摘要
本发明公开了一种共享应用程序的方法,该方法包括应用程序被安装时,通过查找当前正在被安装的文件,获取所述应用程序的安装文件所在的文件目录;当需要共享所述应用程序时,到所述安装文件所在的文件目录中提取所述安装文件,并将所述安装文件传输到接收端。通过本发明实施例,可以获取到应用程序的安装文件所在的文件目录,实现在不同的移动终端之间共享应用程序,因此,用户无须通过网络下载便可以获得应用程序安装文件,节省网络流量的同时,提高了安装应用程序的效率。
文档编号G06F9/445GK101860591SQ20091008147
公开日2010年10月13日 申请日期2009年4月8日 优先权日2009年4月8日
发明者姜洋, 顾宏伟 申请人:北京搜狗科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1