应用中实现分享的方法和装置的制造方法
【技术领域】
[0001]本发明涉及智能终端技术领域,特别是涉及一种应用中实现分享的方法和装置。
【背景技术】
[0002]现有很多应用都具有分享功能,通常是将页面分享到第三方应用中,比如分享到即时通讯应用或者社交应用等,则用户在即时通讯应用或者社交应用上的好友登录后可查看到用户分享的页面。比如,用户在新闻应用上看到一篇新闻想要分享给好友,可以通过该应用的分享功能将新闻页面分享到即时通讯应用或者社交应用中。
[0003]传统技术中,要在应用中实现分享,则要使用到第三方应用的用来实现分享功能的SDK(Software Development Kit,软件开发工具包),并且该应用要在第三方应用的开放平台上注册一个应用标识(appid),拥有注册好的应用标识的应用才能接入分享SDK。如果有多个应用要实现分享,每个应用都需要注册一次,从而增加了时间和管理成本。
【发明内容】
[0004]基于此,有必要针对上述技术问题,提供一种能节省时间和管理成本的应用中实现分享的方法和装置。
[0005]—种应用中实现分享的方法,所述方法包括:
[0006]获取宿主应用发起分享的请求;
[0007]检测是否安装了分享插件;
[0008]如果安装了分享插件,则调起所述分享插件,将分享信息传递给所述分享插件;
[0009]通过所述分享插件根据分享信息实现分享。
[0010]—种应用中实现分享的装置,所述装置包括:
[0011]请求获取模块,用于获取宿主应用发起分享的请求;
[0012]插件检测模块,用于检测是否安装了分享插件;
[0013]信息传递模块,用于如果安装了分享插件,则调起所述分享插件,将分享信息传递给所述分享插件;
[0014]分享实现模块,用于通过所述分享插件根据分享信息实现分享。
[0015]上述应用中实现分享的方法和装置,在宿主应用发起分享的请求后调起已安装的分享插件,通过分享插件实现分享。由于可以直接通过调起分享插件实现分享,宿主应用不需要去第三方应用的开放平台上注册也能实现分享,从而节省了时间和管理成本。
【附图说明】
[0016]图1为本发明实施例提供的应用中实现分享的方法的原理图;
[0017]图2为一个实施例中终端的内部结构图;
[0018]图3为一个实施例中应用中实现分享的方法的流程示意图;
[0019]图4为另一个实施例中应用中实现分享的方法的流程示意图;
[0020]图5为一个实施例中通过分享插件实现分享的流程示意图;
[0021 ]图6为一个实施例中应用中实现分享的装置的结构框图;
[0022]图7为另一个实施例中应用中实现分享的装置的结构框图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]图1示出了本发明实施例所提供的应用中实现分享的方法原理,在应用中实现分享的方法中,宿主应用首先发起分享请求,再检测终端本地是否已经安装了分享插件,如果安装了分享插件,则调起分享插件,宿主应用将分享信息传递给分享插件,分享插件被调起后,会再将分享信息分享到第三方应用,比如即时通讯应用或者社交应用等,从而实现将将宿主应用中的分享信息分享到第三方应用。整个过程中,由于分享插件是透明的,用户在分享时不会感知分享插件的存在。
[0025]在一个实施例中,如图2所示,本发明实施例还提供了一种终端,该终端包括通过系统总线连接的处理器、图形处理单元、存储介质、内存、网络接口、显示器和输入设备,存储介质中存储有操作系统和一种应用中实现分享的装置,该应用中实现分享的装置用于执行一种应用中实现分享的方法。该处理器用于提高计算和控制能力,支撑整个终端的运行。终端中的图形处理单元用于至少提供显应用操作界面的绘制能力,比如绘制应用界面,绘制分享插件调起的第三方应用列表等,内存用于为存储介质中的应用中实现分享的装置的运行提供环境,网络接口用于与服务器进行网络通信,接收或发送数据,比如实现分享后可将分享内容发送到服务器。显示器用于各种应用的图标和界面的显示,例如应用界面、第三方应用列表选择界面等。输入设备用于输入操作指令,比如用户可通过输入设备输入分享指令等。在其它实施例中,显示器和输入设备可以结合,比如为触摸屏显示器。
[0026]如图3所示,在一个实施例中,提供了一种应用中实现分享的方法,该方法以应用于终端中进行举例说明,终端包括但不限于各种个人计算机、智能手机、平板电脑、智能穿戴式设备等,该方法具体包括:
[0027]步骤302,获取宿主应用发起的分享请求。
[0028]宿主应用也就是发起分享请求的应用,宿主应用包括但不限于各种新闻应用、游戏应用、即时通讯应用、社交应用、理财应用等等,本实施例不限定为某种特定类型的应用,只要有发起分享的需求的应用都可以实现。具体的,在应用界面设有发起分享的入口,用户可通过点击预设的分享按钮发起分享请求。
[0029]步骤304,检测是否安装了分享插件。
[0030]分享插件预先在第三方应用中进行了注册,且具有对应的身份标识。分享插件维护了有关分享的内容,包括分享的应用标识、SDK封装和分享选择界面等。具体的,可通过检测终端本地是否存在分享插件的包名来检测终端本地是否安装了分享插件,如果检测到存在预设包名,则表明本地已安装了分享插件。
[0031]步骤306,如果安装了分享插件,则调起分享插件,将分享信息传递给分享插件。
[0032]本实施例中,如果终端本地已安装了分享插件,则宿主应用直接调起该分享插件,并将分享信息传递给分享插件。
[0033]以Android操作系统为例,在一个实施例中,可通过intent方式,将分享信息封装至Ijbundle,通过bundle向分享插件传递预设数据格式的分享信息。intent(意图)是用来解决Andr ο id应用的各项组件之间的通讯,通过intent可以完成组件的调用。bundle是Android操作系统中用来实现数据传递的类,通过bundle可向分享插件传递数据。本实施例中,分享信息包括分享类型分享网页链接、分享文字、分享图片链接、分享图片位图文件(bitmap)和分享页面缩略图位图文件(bitmap)中的全部或部分。不同类型的分享所需要的信息有所不同,可根据分享的类型来确定采用哪种数据格式传递分享信息。
[0034]步骤308,通过分享插件根据分享信息实现分享。
[0035]本实施例中,分享插件实现分享功能,通过分享插件即可调起第三方应用实现分享。由于可以直接通过调起分享插件实现分享,宿主应用不需要去第三方应用的开放平台上注册也能实现分享,从而节省了时间和管理成本。
[0036]在一个实施例中,在检测是否安装了分享插件的步骤之后,还包括:如果未安装分享插件,则进一步检测本地是否存在分享插件SDK,若是,则安装分享插件;否则下载分享插件SDK并安装分享插件。
[0037]如图4所示,本实施例提供的应用中实现分享的方法,具体包括:
[0038]步骤402,获取宿主应用发起分享的请求。
[0039]宿主应用也就是发起分享请求的应用,宿主应用包括但不限于各种新闻应用、游戏应用、即时通讯应用、社交应用、理财应用等等,本实施例不限定为某种特定类型的应用,只要有发起分享的需求的应用都可以实现。具体的,在应用界面设有发起分享的入口,用户可通过点击预设的分享按钮发起分享请求。
[0040]步骤404,检测是否安装了分享插件,若是,则进入步骤406,否则执行步骤408。
[0041]分享插件预先在第三方应用中进行了注册,且具有对应的身份标识。分享插件维护了有关分享的内容,包括分享的应用标识、SDK封装和分享选择界面等。具体的,可通过检测终端本地是否存在分享插件的包名来检测终端本地是否安装了分享插件,如果检测到存在预设包名,则表明本地已安装了分享插件。
[0042]步骤406,调起分享插件,将分享信息传递给分享插件。
[0043]本实施例中,如果终端本地已安装了分享插件,则宿主应用直接调起该分享插件,并将分享信息传递给分享插件。
[0044]以Android操作系统为例,在一个实施例中,可通过intent方式,将分享信息封装至Ijbundle,通过bundle向分享插件传递预设数据格式的分享信息。intent(意图)是用来解决Andr ο id应用的各项组件之间的通讯,通过intent可以完成组件的调用。bundle是Android操作系统中用来实现数据传递的类,通过bundle可向分享插件传递数据。本实施例中,分享信息包括分享类型分享网页链接、分享文字、分享图片链接、分享图片位图文件(bitmap)和分享页面缩略图位图文件(bitmap)中的全部或部分。不同类型的分享所需要的信息有所不同,可根据分享的类型来确定采用哪种数据格式传递分享信息。
[0045]步骤408,检测本地是否存在分享插件SDK,若是,则执行步骤410,否则执行步骤412。
[0046]由于分享插件可随着终端上的应用进行打包,因此终端上安装了某些应用可能携带了分享插件SDK。本实施例中,如果检测到未存在已安装好的分享插件,则检测终端本地是否存在分享插件SDK。
[0047]步骤410,安装分享插件,然后进入步骤406。
[0048]本实施例中,如果检测到终端本地存在分享插件SDK,则可使用分享插件SDK直接安装分享插件。当需要使用分享插件SDK安装分享插件时,可弹出提醒信息以提醒用户需要安装分享插件,并在接收到用户确认安装的指令后执行安装。
在安装好分享插件后调起分享插件,以将分享信息传递给分享插件。
[0049]步骤412,下载分享插件SDK并安装分享插件,然后进入步骤406。
[0050]本实施例中,如果检测到终端本地不存在分享插件SDK,则可向服务器发起插件下载请求,从服务器下载分享插件SDK。在向服务器发起插件下载请求之前,可弹出提醒信息以提醒用户需要下载和安装分享插件,并在接收到用户确认下载的指令后再执行下载,在下载完成后自动安装分享插件,并在安装好分享插件后调起分享插件,以将分享信息传递给分享插件。
[0051 ]步骤414,通过分享插件根据分享信息实现分享。
[0052]本实施例中,如果本地没有已安装好的分享插件,则能够自动安装或者自动下载并安装,并在安装好自动调起安装插件,从而实现分享功能。如果本地已有安装好的分享插件,用户完全不会感知到分享插件的存在,只有当首次安装时可提醒用户。由于宿主应用不需要去第三方应用的开放平台上注册也能实现分享,从而节省了时间和管理成本。
[0053]在一个实施例中,如图5所示,通过分享插件根据分享信息实现分享的步骤包括:
[0054]步骤502,通过分享插件获取第三方应用列表并显示。
[0055]本实施例中,分享插件被调起后,接收宿主应用传递的分享信息,并获取可以调起的第三方应用,该第三方应用是分享插件在其开发平台进行注册过的应用,获取到第三方应用列表并在分享界面上显示应用图标。
[0056]步骤504,获取用户选择的第三方应用。
[0057]具体的,用户可通过点击分享界面上的应用图标来选择第三方应用为分享的目标应用。
[0058]步骤506,通过分享插件将分享信息分享到选择的第三方应用。
[0059]本实施例中,当用户点击应用界面上的应用图标选择了第三方应用后,分享插件可调用该第三方应用对应的分享SDK,实现分享功能。或者分享插件调用系统方法来实现分享功能,系统方法是操作系统中最基本的分享方法。举例说明,在分享界面中显示了调起的多个即时通讯应用或社交应用的应用图标,用户通过点击某一应用图标选择了一个社交应用,则分享插件调用该社交应用对应的分享SDK,实现将在宿主应用需要分享的页面分享到该社交应用中。当用户的好友登录社交应用后,可通过社交应用界面显示该用户分享的页面,并可通过提供的链接进入到该页面查看详细内容。
[0060]如图6所示,在一个实施例中,还提供了一种应用中实现分享的装置,该装置包括请求获取模块602、插件检测模块604、信息传递模块606和分享实现模块608,其中:
[0061 ]请求获取模块602用于获取宿主应用发起分享的请求。
[0062]插件检测模块604用于检测是否安装了分享插件。
[0063]信息传递模块606用于如果安装了分享插件,则调起分享插件,将分享信息传递给分享插件。
[0064]分享实现模块608用于通过分享插件根据分享信息实现分享。
[0065]宿主应用也就是发起分享请求的应用,宿主应用包括但不限于各种新闻应用、游戏应用、即时通讯应用、社交应用、理财应用等等。具体的,在应用界面设有发起分享的入口,用户通过点击预设的分享按钮发起分享请求。
[0066]分享插件预先在第三方应用中进行了注册,且具有对应的身份标识。分享插件维护了有关分享的内容,包括分享的应用标识、SDK封装和分享选择界面等。具体的,插件检测模块604用于通过检测终端本地是否存在分享插件的包名来检测终端本地是否安装了分享插件,如果检测到存在预设包名,则表明本地已安装了分享插件。
[0067]本实施例中,分享插件实现分享功能,通过分享插件即可调起第三方应用实现分享。由于可以直接通过调起分享插件实现分享,宿主应用不需要去第三方应用的开放平台上注册也能实现分享,从而节省了时间和管理成本。
[0068]在一个实施例中,插件检测模块604还用于如果未安装分享插件,则进一步检测本地是否存在分享插件SDK。本实施例中,如图7所示,应用中实现分享的装置还包括:插件安装模块605,用于如果本地存在分享插件SDK,则安装分享插件,如果本地不存在分享插件SDK,则下载分享插件SDK并安装分享插件。
[0069]本实施例中,如果检测到终端本地不存在分享插件SDK,则插件安装模块605可向服务器发起插件下载请求,从服务器下载分享插件SDK。在向服务器发起插件下载请求之前,可弹出提醒信息以提醒用户需要下载和安装分享插件,并在接收到用户确认下载的指令后再执行下载,在下载完成后自动安装分享插件,并在安装好分享插件后调起分享插件,以将分享信息传递给分享插件。
[0070]在一个实施例中,信息传递模块606用于通过intent方式,将分享信息封装到bund I e,通过bund I e向分享插件传递预设数据格式的分享信息。
[0071]以Android操作系统为例,在一个实施例中,信息传递模块606用于通过intent方式,将分享信息封装到bundle,通过bundle向分享插件传递预设数据格式的分享信息。
[0072]在一个实施例中,分享信息包括分享类型、分享网页链接、分享文字、分享图片链接、分享图片位图文件和分享页面缩略图位图文件中的全部或部分。不同类型的分享所需要的信息有所不同,可根据分享的类型来确定采用哪种数据格式传递分享信息。
[0073]在一个实施例中,分享实现模块608用于通过分享插件获取第三方应用列表并显示;获取用户选择的第三方应用;通过分享插件将分享信息分享到选择的第三方应用。
[0074]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0075]以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0076]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种应用中实现分享的方法,所述方法包括: 获取宿主应用发起分享的请求; 检测是否安装了分享插件; 如果安装了分享插件,则调起所述分享插件,将分享信息传递给所述分享插件; 通过所述分享插件根据分享信息实现分享。2.根据权利要求1所述的方法,其特征在于,在所述检测是否安装了分享插件的步骤之后,还包括: 如果未安装分享插件,则进一步检测本地是否存在分享插件SDK,若是,则安装所述分享插件;否则下载所述分享插件SDK并安装分享插件。3.根据权利要求1所述的方法,其特征在于,所述将分享信息传递给所述分享插件的步骤,包括: 通过intent方式,将分享信息封装到bundle,通过bundle向分享插件传递预设数据格式的分享信息。4.根据权利要求1所述的方法,其特征在于,所述分享信息包括分享类型、分享网页链接、分享文字、分享图片链接、分享图片位图文件和分享页面缩略图位图文件中的全部或部分。5.根据权利要求1所述的方法,其特征在于,所述通过分享插件根据分享信息实现分享的步骤,包括: 通过所述分享插件获取第三方应用列表并显示; 获取用户选择的第三方应用; 通过所述分享插件将分享信息分享到所述选择的第三方应用。6.一种应用中实现分享的装置,其特征在于,所述装置包括: 请求获取模块,用于获取宿主应用发起分享的请求; 插件检测模块,用于检测是否安装了分享插件; 信息传递模块,用于如果安装了分享插件,则调起所述分享插件,将分享信息传递给所述分享插件; 分享实现模块,用于通过所述分享插件根据分享信息实现分享。7.根据权利要求6所述的装置,其特征在于,所述插件检测模块还用于如果未安装分享插件,则进一步检测本地是否存在分享插件SDK; 所述装置还包括: 插件安装模块,用于如果本地存在分享插件SDK,则安装所述分享插件,如果本地不存在分享插件SDK,则下载所述分享插件SDK并安装分享插件。8.根据权利要求6所述的装置,其特征在于,所述信息传递模块还用于通过intent方式,将分享信息封装到bundle,通过bundle向分享插件传递预设数据格式的分享信息。9.根据权利要求6所述的装置,其特征在于,所述分享信息包括分享类型、分享网页链接、分享文字、分享图片链接、分享图片位图文件和分享页面缩略图位图文件中的全部或部分。10.根据权利要求6所述的装置,其特征在于,所述分享实现模块用于通过所述分享插件获取第三方应用列表并显示;获取用户选择的第三方应用;通过所述分享插件将分享信 息分享到所述选择的第三方应用。
【专利摘要】本发明涉及一种应用中实现分享的方法,所述方法包括:获取宿主应用发起分享的请求;检测是否安装了分享插件;如果安装了分享插件,则调起所述分享插件,将分享信息传递给所述分享插件;通过所述分享插件根据分享信息实现分享。采用该方法,可以节省时间和管理成本。此外,还提供了一种应用中实现分享的装置。
【IPC分类】G06F9/445, H04L12/58, G06F17/30
【公开号】CN105490917
【申请号】CN201510799782
【发明人】张庆吉
【申请人】腾讯科技(深圳)有限公司
【公开日】2016年4月13日
【申请日】2015年11月18日
转载请注明原文地址:https://www.famiwei.com/read-8913414.html