CN104267977A - 应用程序运行方法及装置 - Google Patents

应用程序运行方法及装置 Download PDF

Info

Publication number
CN104267977A
CN104267977A CN201410470307.8A CN201410470307A CN104267977A CN 104267977 A CN104267977 A CN 104267977A CN 201410470307 A CN201410470307 A CN 201410470307A CN 104267977 A CN104267977 A CN 104267977A
Authority
CN
China
Prior art keywords
application
assembly
program
program assembly
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410470307.8A
Other languages
English (en)
Other versions
CN104267977B (zh
Inventor
辛显龙
贺瑶
余朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201410470307.8A priority Critical patent/CN104267977B/zh
Publication of CN104267977A publication Critical patent/CN104267977A/zh
Priority to JP2016548410A priority patent/JP6068736B2/ja
Priority to KR1020157009920A priority patent/KR20160046751A/ko
Priority to MX2015003752A priority patent/MX356175B/es
Priority to PCT/CN2015/071360 priority patent/WO2016041312A1/zh
Priority to BR112015008624A priority patent/BR112015008624A2/pt
Priority to RU2015113732A priority patent/RU2647625C2/ru
Priority to US14/693,872 priority patent/US9870239B2/en
Priority to EP15185498.1A priority patent/EP2998899A1/en
Application granted granted Critical
Publication of CN104267977B publication Critical patent/CN104267977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于一种应用程序运行方法及装置,属于操作系统领域。所述方法包括:在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的程序组件;通过所述第一应用提供的运行环境运行所述第二应用的程序组件。本公开解决了应用程序必须通过将安装包进行安装后才能使用的问题;达到了第二应用无需安装,第二应用可以利用第一应用提供的运行环境来运行的效果。

Description

应用程序运行方法及装置
技术领域
本公开涉及移动终端领域,特别涉及一种应用程序运行方法及装置。
背景技术
安卓(英文:Android)系统是一种智能操作系统,可以通过安装不同的应用程序来提供不同的功能。
相关技术中,开发完成的应用程序会被打包成后缀名为apk格式的安装包发布给用户。用户希望使用该应用程序时,会将该安装包在运行有安卓系统的移动终端上进行安装,然后运行该应用程序。但是对于一些用户来讲,比如老人,安装一个应用程序的操作是较难掌握的。
发明内容
为了解决相关技术中应用程序必须通过将安装包进行安装后才能使用的问题,本公开提供了一种应用程序运行方法及装置。所述技术方案如下:
根据本公开的第一方面,提供了一种应用程序运行方法,该方法包括:
在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;
通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件;
通过第一应用提供的运行环境运行第二应用的程序组件。
可选地,通过第一应用提供的运行环境运行第二应用的程序组件,包括:
通过第一应用确定第二应用中需要运行的程序组件;
通过第一应用启动与程序组件对应的沙盒程序组件;
通过第一应用中的沙盒程序组件所提供的上下文运行环境运行程序组件。
可选地,通过第一应用中的沙盒程序组件所提供的上下文运行环境运行程序组件,包括:
通过第一应用中的沙盒程序组件采用反射机制调用程序组件;
通过第一应用中的沙盒程序组件所提供的上下文运行环境运行被调用的程序组件。
可选地,通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件,包括:
通过第一应用加载并解析第二应用的安装包,得到第二应用的配置文件;
通过第一应用根据配置文件解析得到第二应用中的至少一个程序组件,该程序组件包括活动组件、服务组件、内容提供者组件和广播接收器组件中的至少一种。
可选地,该方法,还包括:
通过第一应用根据配置文件将第二应用中的各个程序组件所监听的意图Intent消息类型在操作系统中进行注册。
可选地,通过第一应用确定第二应用中需要运行的程序组件,包括:
在启动第二程序时,通过第一应用接收第二应用反馈的默认运行组件,将默认运行组件确定为需要运行的程序组件。
可选地,通过第一应用确定第二应用中需要运行的程序组件,包括:
通过第一应用接收操作系统转发的Intent消息,该Intent消息是符合已经注册的Intent消息类型的消息;
在第二应用中用于监听Intent消息的程序组件未启动时,将用于监听Intent消息的程序组件确定为需要运行的程序组件。
可选地,方法还包括:
通过第一应用接收操作系统转发的Intent消息,该Intent消息是符合已经注册的Intent消息类型的消息,并在第二应用中用于监听Intent消息的程序组件启动时,将Intent消息转发给程序组件进行处理;
和/或,
通过第一应用获取第二应用中一个程序组件所需要发送的Intent消息,将Intent消息转发给操作系统。
可选地,该方法还包括:
通过第一应用对第二应用的不同版本的安装包进行管理操作,管理操作包括下载操作、更新操作和删除操作中的至少一种。
根据本公开的第二方面,提供了一种应用程序运行装置,装置包括:
信号接收模块,被配置为在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;
安装包解析模块,被配置为通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件;
程序运行模块,被配置为通过第一应用提供的运行环境运行第二应用的程序组件。
可选地,程序运行模块,包括:
组件确定子模块、沙盒启动子模块和组件运行子模块;
组件确定子模块,被配置为通过第一应用确定第二应用中需要运行的程序组件;
沙盒启动子模块,被配置为通过第一应用启动与程序组件对应的沙盒程序组件;
组件运行子模块,被配置为通过第一应用中的沙盒程序组件所提供的上下文运行环境运行程序组件。
可选地,组件运行子模块,包括:调用子模块和运行子模块;
调用子模块,被配置为通过第一应用中的沙盒程序组件采用反射机制调用程序组件;
运行子模块,被配置为通过第一应用中的沙盒程序组件所提供的上下文运行环境运行被调用的程序组件。
可选地,安装包解析模块,包括:文件解析子模块和组件解析子模块;
文件解析子模块,被配置为通过第一应用加载并解析第二应用的安装包,得到第二应用的配置文件;
组件解析子模块,被配置为通过第一应用根据配置文件解析得到第二应用中的至少一个程序组件,该程序组件包括活动组件、服务组件、内容提供者组件和广播接收器组件中的至少一种。
可选地,该装置,还包括:
消息注册模块,被配置为通过第一应用根据配置文件将第二应用中的各个程序组件所监听的意图Intent消息类型在操作系统中进行注册。
可选地,组件确定子模块,包括:第一确定子模块;
第一确定子模块,被配置为在启动第二程序时,通过第一应用接收第二应用反馈的默认运行组件,将默认运行组件确定为需要运行的程序组件。
可选地,组件确定子模块,包括:消息接收子模块和第二确定子模块;
消息接收子模块,被配置为通过第一应用接收操作系统转发的Intent消息,Intent消息是符合已经注册的Intent消息类型的消息;
第二确定子模块,被配置为在第二应用中用于监听Intent消息的程序组件未启动时,将用于监听Intent消息的程序组件确定为需要运行的程序组件。
可选地,该装置还包括:
第一转发模块,被配置为通过第一应用接收操作系统转发的Intent消息,该Intent消息是符合已经注册的Intent消息类型的消息,并在第二应用中用于监听Intent消息的程序组件启动时,将Intent消息转发给程序组件进行处理;
和/或,
第二转发模块,被配置为通过第一应用获取第二应用中一个程序组件所需要发送的Intent消息,将Intent消息转发给操作系统。
可选地,该装置还包括:
安装包管理模块,被配置为通过第一应用对第二应用的不同版本的安装包进行管理操作,该管理操作包括下载操作、更新操作和删除操作中的至少一种。
根据本公开的第三方面,提供了一种应用程序运行装置,包括:
处理器;
用于存储处理器的可执行指令的存储器;
其中,处理器被配置为:
在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;
通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件;
通过第一应用提供的运行环境运行第二应用的程序组件。
本公开实施例提供的技术方案可以包括以下有益效果:
通过在已经运行的第一应用中加载并解析第二应用的安装包,得到第二应用的程序组件;通过第一应用提供的运行环境运行第二应用的程序组件;解决了应用程序必须通过将安装包进行安装后才能使用的问题;达到了第二应用无需安装,第二应用可以利用第一应用提供的运行环境来运行的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种应用程序运行方法的流程图;
图2是根据另一示例性实施例示出的一种应用程序运行方法的实施示意图;
图3是根据另一示例性实施例示出的一种应用程序运行方法的流程图;
图4是根据另一示例性实施例示出的一种应用程序运行方法的子步骤流程图
图5是根据一示例性实施例示出的一种应用程序运行装置的框图;
图6是根据另一示例性实施例示出的一种应用程序运行装置的框图;
图7是根据一示例性实施例示出的一种装置的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本公开所涉及的几个名词进行简介:
安卓操作系统:由美国谷歌公司出品的一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备。该移动终端可以是手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机等等。
应用程序安装包:是用于将应用程序安装到操作系统上的一种文件。通常是可自行解压缩文件的集合,该集合中包括应用程序在安装时的所有文件。在安卓系统中,应用程序安装包通常是以apk格式封装的文件。
应用程序:简称应用,在安卓操作系统中,一个应用程序通常包括至少一个程序组件。程序组件分为四种:活动(英文:Activity)组件、服务(英文:Service)组件、内容提供者(英文:Content Provider)组件和广播接收器(英文:Broadcast Receiver)组件。
活动组件:安卓应用程序中负责与用户交互的组件,它为安卓应用程序提供可视化的用户界面。一个安卓应用程序可以包括零到多个活动组件。
服务组件:安卓应用程序中运行于后台、不提供用户界面的组件。一个安卓应用程序可以包括零到多个服务组件。
内容提供者组件:安卓应用程序中用于为其它应用或者当前应用中的其它组件提供数据的组件,比如:铃声、壁纸、电话本等。它能够对各种格式的数据进行封装,以标准的形式提供给其它应用或者组件进行使用。
广播接收器组件:用于接收和响应操作系统广播的消息。它能够接收自己感兴趣的消息(或者说预先定义的某种消息类型的消息),然后进行处理或转发给当前应用中的其它组件。
意图(英文:Intent)消息:安卓应用程序中实现各项程序组件之间进行通讯的一种消息,各项程序组件可以是同一应用程序中的不同组件,也可以是不同应用程序中的不同组件。Intent消息负责对应用程序中一次操作的动作、动作涉及数据、附加数据进行描述,安卓操作系统根据该Intent消息的描述,负责找到对应的程序组件,将Intent消息传递给调用的程序组件,并完成程序组件的调用。Intent消息分为两种:显式Intent消息和隐式Intent消息。
显式Intent消息:对于明确指出了目标程序组件名称的Intent消息,称之为显式Intent消息。比如:A程序组件需要发送一条“拨打电话18688888888”的Intent消息,若A程序组件希望B程序组件来对该Intent消息进行响应,则A程序组件在该Intent消息中指定目标程序组件是B程序组件,则安卓操作系统在接收到该Intent消息后,会将该Intent消息交由B程序组件处理。
隐式Intent消息:对于未明确指出目标程序组件名称的Intent消息,称之为隐式Intent消息。比如:A组件需要发送一条“拨打电话18688888888”的Intent消息,若A组件不知道该Intent消息应当由哪一个程序组件进行响应,则A组件可以不在该Intent消息中指定目标程序组件,则安卓操作系统在接收到该Intent消息后,会查看各个程序组件预先注册的所监听的Intent消息类型,若查看到B程序组件对有关电话呼叫的Intent消息进行监听,则安卓操作系统将该Intent消息交由B程序组件处理。或者,安卓操作系统可以将该Intent消息进行广播,由对有关电话呼叫的Intent消息感兴趣的广播接收器组件来接收并处理。
图1是根据一示例性实施例示出的一种应用程序运行方法的流程图,本实施例以该应用程序运行方法应用于移动终端中来举例说明。该应用程序运行方法可以包括如下几个步骤。
在步骤102中,在已经运行的第一应用中,接收用于指示运行第二应用的触发信号。
在步骤104中,通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件。
在步骤106中,通过第一应用提供的运行环境运行第二应用的程序组件。
综上所述,本实施例提供的应用程序运行方法,通过在已经运行的第一应用中加载并解析第二应用的安装包,得到第二应用的程序组件;通过第一应用提供的运行环境运行第二应用的程序组件;解决了应用程序必须通过将安装包进行安装后才能使用的问题;达到了第二应用无需安装,第二应用可以利用第一应用提供的运行环境来运行的效果。
为了便于理解,请首先参考图2,其示出了一示例性实施例示出的一种应用程序运行方法的实施示意图。在移动终端中运行有第一应用220,该第一应用220可以加载并解析第二应用240的安装包,得到第二应用240中的程序组件。第二应用240中可以包括一个或者一个以上的程序组件,每个程序组件可以是活动组件242、服务组件244、内容提供者组件246和广播接收器组件248中的任意一种。然后,第一应用220为第二应用240提供一个沙盒环境,该沙盒环境为第二应用240中的程序组件提供运行时所需要的上下文环境,第二应用240可以凭借该沙盒环境进行运行。
在第二应用240中的运行过程中,第一应用220可以按照第二应用240的运行逻辑运行第二应用240中的程序组件,比如:在第二应用240启动时,第一应用可以运行第二应用240的默认运行组件,该默认运行组件通常是第二应用240的主界面所对应的活动组件;又比如,在第二应用240的用户交互界面上的某一个按钮被按压时,第一应用220可以运行第二应用240中的另一个活动组件,从而显示第二应用240中的下一个用户交互界面。
另外,安卓操作系统或者其它应用程序(图中未示出)还可以向第一应用220发送第二应用240所监听的Intent消息,第一应用220在接收到该Intent消息后,会启动第二应用240中的相应程序组件,并向该程序组件转发该Intent消息。安卓操作系统或者其它应用程序还可以通过第一应用220调用第二应用240中的内容提供者组件246,也即安卓操作系统或者其它应用程序可以使用第二应用240中的内容提供者组件246所提供的数据。
第二应用240也可以通过第一应用220向安卓操作系统或者其它应用程序来发送Intent消息,第一应用220在接收到该Intent消息后,会转发给安卓操作系统,由安卓操作系统直接对该Intent消息进行处理或者由安卓操作系统转发给其它程序组件进行处理。第二应用240还可以通过第一应用220调用其它应用中的内容提供者组件,也即第二应用240可以使用其它应用中的内容提供者组件所提供的数据。
需要补充说明的是,第二应用240不需要与第一应用220有特别的关系,且第二应用240和第一应用220之间不需要实现特别的协议和接口,只要第二应用240是符合安卓操作系统的应用程序规范的应用,第二应用240的安装包是符合安卓操作系统的安装包规范的安装包即可。
图3是根据另一示例性实施例示出的一种应用程序运行方法的实施示意图。本实施例以该应用程序运行方法应用于移动终端中来举例说明,该移动终端可以是运行安卓操作系统的移动终端。该应用程序运行方法可以包括如下几个步骤。
在步骤301中,在已经运行的第一应用中,接收用于指示运行第二应用的触发信号。
第一应用是移动终端中已经安装并运行的应用程序。该第一应用可以实现成为综合应用、游戏应用、管理应用和系统应用等。
第一应用在移动终端中能够访问第二应用的安装包。第二应用在移动终端中无需安装,即可借助第一应用提供的运行环境进行运行。
移动终端在已经运行的第一应用中,接收用于指示运行第二应用的触发信号。该触发信号可以是触摸屏点击信号,比如:在第一应用中的用户界面中,可以显示第二应用的图标。当第二应用的图标被触摸屏上接收到的触摸信号所点击时,移动终端接收到用于指示运行第二应用的触发信号。
在步骤302中,通过第一应用加载并解析第二应用的安装包,得到第二应用的配置文件。
配置文件是每个第二应用的安装包中都存在的一个描述文件,通常是第二应用的安装包的根目录下的AndroidManifest.xml文件。该配置文件会提供第二应用中的相关应用信息。
移动终端通过第一应用加载第二应用的安装包,然后解析第二应用的安装包,从解析得到的文件中首先读取第二应用的配置文件。
在步骤303中,通过第一应用根据配置文件解析得到第二应用中的至少一个程序组件。
配置文件中会声明第二应用中所包括的各个程序组件,该程序组件包括活动组件、服务组件、内容提供者组件和广播接收器组件中的至少一种。
移动终端通过第一应用根据配置文件解析得到第二应用中的至少一个程序组件。
在步骤304中,通过第一应用根据配置文件将第二应用中的各个程序组件所监听的Intent消息类型在操作系统中进行注册。
配置文件中还会声明第二应用中的各个程序组件所监听的Intent消息类型。比如,活动组件A监听A类型的Intent消息,服务组件B监听B类型的Intent消息。
移动终端通过第一应用根据配置文件将第二应用中的各个程序组件所监听的Intent消息类型在操作系统中进行注册。
但需要说明的是,第一应用在注册第二应用中的程序组件所监听的Intent消息类型时,向安卓操作系统所注册的接收者是第一应用中的程序组件,而不是第二应用中的程序组件。比如,第二应用中的活动组件A监听A类型的Intent消息,第一应用会向安卓操作系统注册A类型的Intent消息,但是所注册的A类型的Intent消息的接收者是第一应用中的程序组件。
在步骤305中,通过第一应用提供的运行环境运行第二应用的程序组件。
移动终端通过第一应用提供的运行环境运行第二应用的程序组件。第二应用中的程序组件并不需要同时全部运行,仅根据需要运行所有的程序组件中的一部分即可。步骤305可以包括如下子步骤,如图4所示:
305a,移动终端通过第一应用确定第二应用中需要运行的程序组件;
305b,移动终端通过第一应用启动与程序组件对应的沙盒程序组件;
305c,移动终端通过第一应用中的沙盒程序组件所提供的上下文运行环境运行程序组件。
对于步骤305a,主要分为如下两种情况:
第一种情况:在启动第二程序时,移动终端通过第一应用接收第二应用反馈的默认运行组件,将默认运行组件确定为需要运行的程序组件。
默认运行组件通常是第二应用中主界面所对应的活动组件。在启动第二应用时,第二应用会按照自身的运行逻辑向第一应用反馈请求,该请求指示了默认运行组件,此时第一应用会将该默认运行组件确定为第二应用中当前需要运行的程序组件。
第二种情况:移动终端通过第一应用接收操作系统转发的Intent消息,该Intent消息是符合已经注册的Intent消息类型的消息;在第二应用中用于监听该Intent消息的程序组件未启动时,将用于监听该Intent消息的程序组件确定为需要运行的程序组件。
在第二应用的运行过程中,第二应用中的程序组件、安卓操作系统的系统应用和其它应用中的程序组件都有可能向安卓操作系统发送Intent消息,在该Intent消息是第二应用中的程序组件所监听的Intent消息时,也即符合步骤304中所注册的Intent消息类型的Intent消息时,安卓操作系统会将该Intent消息发送给第一应用。此时,如果第二应用中用于监听Intent消息的程序组件未启动,第一应用会将第二应用中用于监听该Intent消息的程序组件确定为需要运行的程序组件。
对于步骤305b,在运行第二应用中的每个程序组件时,移动终端会首先在第一应用中启动相应的沙盒程序组件,该沙盒程序组件用于提供第二应用中的程序组件所需要的上下位环境。
比如,当运行第二应用中的活动组件A时,在第一应用中启动沙盒活动组件A(英文:BoxActivity A);又比如,当运行第二应用中的服务组件B时,在第一应用中启动沙盒服务组件B(英文:BoxServer B);再比如,当运行第二应用中的广播接收者组件C时,在第一应用中启动广播接收者组件C(英文:BoxBroadcastReceiver C)等等。
也即,第二应用中的程序组件在运行时,在第一应用中都对应存在一个沙盒程序组件。
对于步骤305c,可以包括如下子步骤:
1、移动终端通过第一应用中的沙盒程序组件采用反射机制调用第二应用中的程序组件;
反射机制是Java编程领域中的一种机制,可以使第一应用在对第二应用中的程序组件并不了解的前提下,通过反射机制调用第二应用中的程序组件中的指定类。
2、移动终端通过第一应用中的沙盒程序组件所提供的上下文运行环境运行被调用的程序组件。
在步骤306中,通过第一应用为第二应用收发Intent消息;
移动终端还通过第一应用为第二应用接收和/或发送Intent消息。其中:
对于接收过程:移动终端通过第一应用接收安卓操作系统转发的Intent消息,该Intent消息是符合已经注册的Intent消息类型的消息,并在第二应用中用于监听Intent消息的程序组件已经启动时,将该Intent消息转发给第二应用中的该程序组件进行处理。
比如,第一应用接收到安卓操作系统转发的Intent消息,该Intent消息是第二应用中的广播接收器组件D所监听的Intent消息,则第一应用中与该广播接收器组件D对应的沙盒广播接收器组件可以调用该广播接收器组件D的onReceive方法,使得该广播接收器组件D对该intent消息进行处理。
对于发送过程:移动终端通过第一应用获取第二应用中一个程序组件所需要发送的Intent消息,将该Intent消息转发给安卓操作系统。
比如,第二应用中的活动组件E需要发送Intent消息,则该活动组件E先把该Intent消息发送给第一应用中与该活动组件E所对应的沙盒活动组件,然后该沙盒活动组件可以通过拦截安卓操作系统的SendBroadcast方法,并通过SendBroadcast方法将该Intent消息转发给安卓操作系统。
上述过程,即为在第一应用中运行第二应用的过程,第二应用在本文中为泛指。第二应用可以指代不同的应用程序。
在步骤307中,通过第一应用对第二应用的不同版本的安装包进行管理操作,管理操作包括下载操作、更新操作和删除操作中的至少一种。
移动终端可以通过第一应用对多个第二应用进行管理。对于每个第二应用,移动终端可以通过第一应用对第二应用的不同版本的安装包进行管理操作,管理操作包括下载操作、更新操作和删除操作中的至少一种。
比如,第二应用存在1个新版本的安装包,该新版本的安装包具有更多的功能,第一应用可以自动下载并更新该第二应用为最新版本,该过程可以不需要用户参与,也即用户可以无感知而得到第二应用的更新。
综上所述,本实施例提供的应用程序运行方法,通过在已经运行的第一应用中加载并解析第二应用的安装包,得到第二应用的程序组件;通过第一应用提供的运行环境运行第二应用的程序组件;解决了应用程序必须通过将安装包进行安装后才能使用的问题;达到了第二应用无需安装,第二应用可以利用第一应用提供的运行环境来运行的效果。
本实施例提供的应用程序运行方法,还通过由第一应用中的沙盒程序组件来提供第二应用中相应程序组件的上下文运行环境,使得第二应用只要是符合安卓操作系统的应用规范的应用,就可以利用第一应用提供的运行环境来运行的效果。第一应用和第二应用之间无需有特别的关系,无需实现特别的协议的和接口。
本实施例提供的应用程序运行方法,还通过第一应用对第二应用的不同版本的安装包进行管理,能够很方便地对第二应用进行动态更新,而且更新过程不需要用户的任何参与,节省用户的操作和学习成本。
在一个实际的例子中,用户A是一个老年人,对使用安卓操作系统的智能手机需要较多的学习成本,甚至无法操作。而使用上述实施例所提供的应用程序运行方法时,智能手机中的第一应用可以提供第二应用的添加和删除界面。用户A仅需要在该第一应用中的用户界面中添加或删除第二应用即可,当需要使用第二应用时,不需要安装就可以直接在第一应用中打开第二应用进行使用;当不需要使用第二应用时,第一应用还可以自动更新第二应用的安装包为最新版本。整个过程只需要用户A学会添加第二应用、删除第二应用和打开第二应用即可,用户A的学习成本较低,不需要经历安装第二应用、更新第二应用等繁琐的操作,极大地简化了用户的操作,提高了第二应用的使用效率。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5示出了根据一示例性实施例示出的一种应用程序运行装置的框图。该应用程序运行装置可以通过软件、硬件或者两者的结合实现成为移动终端的全部或者一部分,该移动终端可以是运行有安卓操作系统的终端。该应用程序运行装置包括:信号接收模块520、安装包解析模块540和程序运行模块560;
信号接收模块520,被配置为在已经运行的第一应用中,接收用于指示运行第二应用的触发信号。
安装包解析模块540,被配置为通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件。
程序运行模块560,被配置为通过第一应用提供的运行环境运行第二应用的程序组件。
综上所述,本实施例提供的应用程序运行装置,通过在已经运行的第一应用中加载并解析第二应用的安装包,得到第二应用的程序组件;通过第一应用提供的运行环境运行第二应用的程序组件;解决了应用程序必须通过将安装包进行安装后才能使用的问题;达到了第二应用无需安装,第二应用可以利用第一应用提供的运行环境来运行的效果。
图6示出了根据一示例性实施例示出的一种应用程序运行装置的框图。该应用程序运行装置可以通过软件、硬件或者两者的结合实现成为移动终端的全部或者一部分,该移动终端可以是运行有安卓操作系统的终端。该应用程序运行装置包括:信号接收模块520、安装包解析模块540和程序运行模块560;
信号接收模块520,被配置为在已经运行的第一应用中,接收用于指示运行第二应用的触发信号。
安装包解析模块540,被配置为通过第一应用加载并解析第二应用的安装包,得到第二应用的程序组件。
程序运行模块560,被配置为通过第一应用提供的运行环境运行第二应用的程序组件。
可选地,程序运行模块560,包括:组件确定子模块562、沙盒启动子模块564和组件运行子模块566。
组件确定子模块562,被配置为通过第一应用确定第二应用中需要运行的程序组件。
沙盒启动子模块564,被配置为通过第一应用启动与程序组件对应的沙盒程序组件。
组件运行子模块566,被配置为通过第一应用中的沙盒程序组件所提供的上下文运行环境运行程序组件。
可选地,组件运行子模块562,包括:调用子模块和运行子模块;
调用子模块,被配置为通过第一应用中的沙盒程序组件采用反射机制调用程序组件。
运行子模块,被配置为通过第一应用中的沙盒程序组件所提供的上下文运行环境运行被调用的程序组件。
可选地,安装包解析模块540,包括:文件解析子模块542和组件解析子模块544;
文件解析子模块542,被配置为通过第一应用加载并解析第二应用的安装包,得到第二应用的配置文件;
组件解析子模块544,被配置为通过第一应用根据配置文件解析得到第二应用中的至少一个程序组件,程序组件包括活动组件、服务组件、内容提供者组件和广播接收器组件中的至少一种。
可选地,该装置,还包括:消息注册模块530,被配置为通过第一应用根据配置文件将第二应用中的各个程序组件所监听的意图Intent消息类型在操作系统中进行注册。
可选地,组件确定子模块562,包括:第一确定子模块、消息接收子模块和第二确定子模块;
第一确定子模块,被配置为在启动第二程序时,通过第一应用接收第二应用反馈的默认运行组件,将默认运行组件确定为需要运行的程序组件。
消息接收子模块,被配置为通过第一应用接收操作系统转发的Intent消息,Intent消息是符合已经注册的Intent消息类型的消息;
第二确定子模块,被配置为在第二应用中用于监听Intent消息的程序组件未启动时,将用于监听Intent消息的程序组件确定为需要运行的程序组件。
可选地,该装置还包括:
第一转发模块552,被配置为通过第一应用接收操作系统转发的Intent消息,Intent消息是符合已经注册的Intent消息类型的消息,并在第二应用中用于监听Intent消息的程序组件启动时,将Intent消息转发给程序组件进行处理;
和/或,
第二转发模块554,被配置为通过第一应用获取第二应用中一个程序组件所需要发送的Intent消息,将Intent消息转发给操作系统。
可选地,该装置还包括:
安装包管理模块570,被配置为通过第一应用对第二应用的不同版本的安装包进行管理操作,管理操作包括下载操作、更新操作和删除操作中的至少一种。
综上所述,本实施例提供的应用程序运行装置,通过在已经运行的第一应用中加载并解析第二应用的安装包,得到第二应用的程序组件;通过第一应用提供的运行环境运行第二应用的程序组件;解决了应用程序必须通过将安装包进行安装后才能使用的问题;达到了第二应用无需安装,第二应用可以利用第一应用提供的运行环境来运行的效果。
本实施例提供的应用程序运行装置,还通过由第一应用中的沙盒程序组件来提供第二应用中相应程序组件的上下文运行环境,使得第二应用只要是符合安卓操作系统的应用规范的应用,就可以利用第一应用提供的运行环境来运行的效果。第一应用和第二应用之间无需有特别的关系,无需实现特别的协议的和接口。
本实施例提供的应用程序运行装置,还通过第一应用对第二应用的不同版本的安装包进行管理,能够很方便地对第二应用进行动态更新,而且更新过程不需要用户的任何参与,节省用户的操作和学习成本。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种应用程序运行装置700的框图。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置700的处理器执行时,使得装置700能够执行一种图1或者图3所示实施例所提供的应用程序运行方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (19)

1.一种应用程序运行方法,其特征在于,所述方法包括:
在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;
通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的程序组件;
通过所述第一应用提供的运行环境运行所述第二应用的程序组件。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第一应用提供的运行环境运行所述第二应用的程序组件,包括:
通过所述第一应用确定所述第二应用中需要运行的程序组件;
通过所述第一应用启动与所述程序组件对应的沙盒程序组件;
通过所述第一应用中的所述沙盒程序组件所提供的上下文运行环境运行所述程序组件。
3.根据权利要求2所述的方法,其特征在于,所述通过所述第一应用中的所述沙盒程序组件所提供的上下文运行环境运行所述程序组件,包括:
通过所述第一应用中的所述沙盒程序组件采用反射机制调用所述程序组件;
通过所述第一应用中的所述沙盒程序组件所提供的上下文运行环境运行被调用的所述程序组件。
4.根据权利要求2所述的方法,其特征在于,所述通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的程序组件,包括:
通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的配置文件;
通过所述第一应用根据所述配置文件解析得到所述第二应用中的至少一个程序组件,所述程序组件包括活动组件、服务组件、内容提供者组件和广播接收器组件中的至少一种。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
通过所述第一应用根据所述配置文件将所述第二应用中的各个程序组件所监听的意图Intent消息类型在操作系统中进行注册。
6.根据权利要求2所述的方法,其特征在于,所述通过所述第一应用确定所述第二应用中需要运行的程序组件,包括:
在启动所述第二程序时,通过所述第一应用接收所述第二应用反馈的默认运行组件,将所述默认运行组件确定为需要运行的程序组件。
7.根据权利要求5所述的方法,其特征在于,所述通过所述第一应用确定所述第二应用中需要运行的程序组件,包括:
通过所述第一应用接收所述操作系统转发的Intent消息,所述Intent消息是符合已经注册的所述Intent消息类型的消息;
在所述第二应用中用于监听所述Intent消息的程序组件未启动时,将所述用于监听所述Intent消息的程序组件确定为需要运行的程序组件。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过所述第一应用接收所述操作系统转发的Intent消息,所述Intent消息是符合已经注册的所述Intent消息类型的消息,并在所述第二应用中用于监听所述Intent消息的程序组件启动时,将所述Intent消息转发给所述程序组件进行处理;
和/或,
通过所述第一应用获取所述第二应用中一个程序组件所需要发送的Intent消息,将所述Intent消息转发给所述操作系统。
9.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
通过所述第一应用对所述第二应用的不同版本的安装包进行管理操作,所述管理操作包括下载操作、更新操作和删除操作中的至少一种。
10.一种应用程序运行装置,其特征在于,所述装置包括:
信号接收模块,被配置为在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;
安装包解析模块,被配置为通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的程序组件;
程序运行模块,被配置为通过所述第一应用提供的运行环境运行所述第二应用的程序组件。
11.根据权利要求10所述的装置,其特征在于,所述程序运行模块,包括:
组件确定子模块、沙盒启动子模块和组件运行子模块;
所述组件确定子模块,被配置为通过所述第一应用确定所述第二应用中需要运行的程序组件;
所述沙盒启动子模块,被配置为通过所述第一应用启动与所述程序组件对应的沙盒程序组件;
所述组件运行子模块,被配置为通过所述第一应用中的所述沙盒程序组件所提供的上下文运行环境运行所述程序组件。
12.根据权利要求11所述的装置,其特征在于,所述组件运行子模块,包括:调用子模块和运行子模块;
所述调用子模块,被配置为通过所述第一应用中的所述沙盒程序组件采用反射机制调用所述程序组件;
所述运行子模块,被配置为通过所述第一应用中的所述沙盒程序组件所提供的上下文运行环境运行被调用的所述程序组件。
13.根据权利要求11所述的装置,其特征在于,所述安装包解析模块,包括:文件解析子模块和组件解析子模块;
所述文件解析子模块,被配置为通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的配置文件;
所述组件解析子模块,被配置为通过所述第一应用根据所述配置文件解析得到所述第二应用中的至少一个程序组件,所述程序组件包括活动组件、服务组件、内容提供者组件和广播接收器组件中的至少一种。
14.根据权利要求13所述的装置,其特征在于,所述装置,还包括:
消息注册模块,被配置为通过所述第一应用根据所述配置文件将所述第二应用中的各个程序组件所监听的意图Intent消息类型在操作系统中进行注册。
15.根据权利要求11所述的装置,其特征在于,所述组件确定子模块,包括:第一确定子模块;
所述第一确定子模块,被配置为在启动所述第二程序时,通过所述第一应用接收所述第二应用反馈的默认运行组件,将所述默认运行组件确定为需要运行的程序组件。
16.根据权利要求14所述的装置,其特征在于,所述组件确定子模块,包括:消息接收子模块和第二确定子模块;
所述消息接收子模块,被配置为通过所述第一应用接收操作系统转发的Intent消息,所述Intent消息是符合已经注册的所述Intent消息类型的消息;
所述第二确定子模块,被配置为在所述第二应用中用于监听所述Intent消息的程序组件未启动时,将所述用于监听所述Intent消息的程序组件确定为需要运行的程序组件。
17.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第一转发模块,被配置为通过所述第一应用接收所述操作系统转发的Intent消息,所述Intent消息是符合已经注册的所述Intent消息类型的消息,并在所述第二应用中用于监听所述Intent消息的程序组件启动时,将所述Intent消息转发给所述程序组件进行处理;
和/或,
第二转发模块,被配置为通过所述第一应用获取所述第二应用中一个程序组件所需要发送的Intent消息,将所述Intent消息转发给所述操作系统。
18.根据权利要求9至17任一所述的装置,其特征在于,所述装置还包括:
安装包管理模块,被配置为通过所述第一应用对所述第二应用的不同版本的安装包进行管理操作,所述管理操作包括下载操作、更新操作和删除操作中的至少一种。
19.一种应用程序运行装置,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
在已经运行的第一应用中,接收用于指示运行第二应用的触发信号;
通过所述第一应用加载并解析所述第二应用的安装包,得到所述第二应用的程序组件;
通过所述第一应用提供的运行环境运行所述第二应用的程序组件。
CN201410470307.8A 2014-09-16 2014-09-16 应用程序运行方法及装置 Active CN104267977B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201410470307.8A CN104267977B (zh) 2014-09-16 2014-09-16 应用程序运行方法及装置
PCT/CN2015/071360 WO2016041312A1 (zh) 2014-09-16 2015-01-22 应用程序运行方法及装置
KR1020157009920A KR20160046751A (ko) 2014-09-16 2015-01-22 애플리케이션 프로그램을 실행하기 위한 방법 및 기기
MX2015003752A MX356175B (es) 2014-09-16 2015-01-22 Metodo y aparato para ejecutar un programa de aplicacion.
JP2016548410A JP6068736B2 (ja) 2014-09-16 2015-01-22 アプリケーションプログラムの実行方法および装置
BR112015008624A BR112015008624A2 (pt) 2014-09-16 2015-01-22 método e aparelho para executar aplicativo
RU2015113732A RU2647625C2 (ru) 2014-09-16 2015-01-22 Способ и устройство для запуска прикладной программы
US14/693,872 US9870239B2 (en) 2014-09-16 2015-04-23 Method and device for running application program
EP15185498.1A EP2998899A1 (en) 2014-09-16 2015-09-16 Method and apparatus for running application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410470307.8A CN104267977B (zh) 2014-09-16 2014-09-16 应用程序运行方法及装置

Publications (2)

Publication Number Publication Date
CN104267977A true CN104267977A (zh) 2015-01-07
CN104267977B CN104267977B (zh) 2017-12-29

Family

ID=52159501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410470307.8A Active CN104267977B (zh) 2014-09-16 2014-09-16 应用程序运行方法及装置

Country Status (8)

Country Link
EP (1) EP2998899A1 (zh)
JP (1) JP6068736B2 (zh)
KR (1) KR20160046751A (zh)
CN (1) CN104267977B (zh)
BR (1) BR112015008624A2 (zh)
MX (1) MX356175B (zh)
RU (1) RU2647625C2 (zh)
WO (1) WO2016041312A1 (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016041312A1 (zh) * 2014-09-16 2016-03-24 小米科技有限责任公司 应用程序运行方法及装置
CN106201508A (zh) * 2016-07-08 2016-12-07 北京金山安全软件有限公司 一种信息显示方法、装置及电子设备
WO2017035990A1 (zh) * 2015-08-28 2017-03-09 小米科技有限责任公司 安装智能设备的插件的方法和装置
CN106528206A (zh) * 2016-10-12 2017-03-22 北京奇虎科技有限公司 应用的启动控制方法、装置和加固应用安装包的装置
CN106598662A (zh) * 2016-12-08 2017-04-26 蓝信工场(北京)科技有限公司 基于android的应用加载方法及装置
CN106775862A (zh) * 2016-12-08 2017-05-31 蓝信工场(北京)科技有限公司 应用加载方法及装置
CN106874746A (zh) * 2017-01-13 2017-06-20 北京奇虎科技有限公司 应用程序调用方法、装置和移动终端
CN107402752A (zh) * 2017-06-09 2017-11-28 中国邮政储蓄银行股份有限公司 应用的定时触发方法和装置
CN107463345A (zh) * 2016-06-06 2017-12-12 佳能株式会社 控制方法和存储介质
CN107515780A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 应用间调用关系的确定方法、调用规则生成方法及装置
US9870239B2 (en) 2014-09-16 2018-01-16 Xiaomi Inc. Method and device for running application program
CN107992313A (zh) * 2016-10-25 2018-05-04 航天信息软件技术有限公司 软件在线升级方法及装置
CN108255545A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 组件间的功能调用方法、装置及组件化架构系统
CN108287758A (zh) * 2017-01-09 2018-07-17 阿里巴巴集团控股有限公司 一种应用资源管理方法、使用方法及装置
CN108595220A (zh) * 2018-04-25 2018-09-28 上海掌门科技有限公司 应用组件的处理方法、设备及计算机可读存储介质
CN110083695A (zh) * 2019-05-10 2019-08-02 百度在线网络技术(北京)有限公司 技能服务调用方法、装置及存储介质
CN110175082A (zh) * 2019-05-31 2019-08-27 三角兽(北京)科技有限公司 通知消息的处理方法、装置、电子设备及存储介质
CN110998525A (zh) * 2017-08-08 2020-04-10 华为技术有限公司 一种广播事件处理方法及设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038010A (zh) * 2017-12-25 2018-05-15 青岛海信电器股份有限公司 安卓系统启动阶段广播发送方法、装置和终端
CN108108171B (zh) * 2018-01-18 2019-02-26 西南大学 一种手机远程单片机编译运行系统
KR102081692B1 (ko) * 2018-11-13 2020-04-27 주식회사 아게르냐 설정된 언어에 맞추어 농어민 정보를 제공하는 터치스크린 키보드
KR102713970B1 (ko) 2019-07-10 2024-10-08 삼성전자주식회사 어플리케이션을 관리하는 방법 및 그 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593100A (zh) * 2008-05-30 2009-12-02 爱思开电讯投资(中国)有限公司 运行迷你应用程序的方法、执行该方法的装置及机器可读介质
CN102722392A (zh) * 2012-06-07 2012-10-10 腾讯科技(深圳)有限公司 软件运行方法和系统
CN103150166A (zh) * 2013-03-08 2013-06-12 深圳市奇维百纳网络有限公司 一种与设备同步的自助创建移动应用程序的方法
JP5410471B2 (ja) * 2011-05-24 2014-02-05 株式会社Nttドコモ 複数のアプリケーションを連携起動する通信端末、連携起動方法及びコンピュータプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE437398T1 (de) * 1998-05-06 2009-08-15 Sun Microsystems Inc Verarbeitungsmaschine und verarbeitungsverfahren
US8646059B1 (en) * 2010-12-17 2014-02-04 Google Inc. Wallet application for interacting with a secure element application without a trusted server for authentication
WO2013082437A1 (en) * 2011-12-02 2013-06-06 Invincia, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
JP5723760B2 (ja) * 2011-12-28 2015-05-27 Kddi株式会社 アプリケーション解析装置、アプリケーション解析システム、およびプログラム
RU2477520C1 (ru) * 2012-03-14 2013-03-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ динамической адаптации функционала антивирусного приложения на основе конфигурации устройства
CN104267977B (zh) * 2014-09-16 2017-12-29 小米科技有限责任公司 应用程序运行方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593100A (zh) * 2008-05-30 2009-12-02 爱思开电讯投资(中国)有限公司 运行迷你应用程序的方法、执行该方法的装置及机器可读介质
JP5410471B2 (ja) * 2011-05-24 2014-02-05 株式会社Nttドコモ 複数のアプリケーションを連携起動する通信端末、連携起動方法及びコンピュータプログラム
CN102722392A (zh) * 2012-06-07 2012-10-10 腾讯科技(深圳)有限公司 软件运行方法和系统
CN103150166A (zh) * 2013-03-08 2013-06-12 深圳市奇维百纳网络有限公司 一种与设备同步的自助创建移动应用程序的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORACLE: "Oracle: "Running JAR-Packaged Software(The Java(TM) Tutorials > Deployment > Packaging Programs in JAR Files)"", 《HTTPS://WEB.ARCHIVE.ORG/WEB/20140725014919/HTTP://DOCS.ORACLE.COM/JAVASE/TUTORIAL/DEPLOYMENT/JAR/RUN.HTML》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016041312A1 (zh) * 2014-09-16 2016-03-24 小米科技有限责任公司 应用程序运行方法及装置
US9870239B2 (en) 2014-09-16 2018-01-16 Xiaomi Inc. Method and device for running application program
WO2017035990A1 (zh) * 2015-08-28 2017-03-09 小米科技有限责任公司 安装智能设备的插件的方法和装置
CN107463345B (zh) * 2016-06-06 2020-11-06 佳能株式会社 控制方法和存储介质
CN107463345A (zh) * 2016-06-06 2017-12-12 佳能株式会社 控制方法和存储介质
CN107515780B (zh) * 2016-06-17 2021-03-16 斑马智行网络(香港)有限公司 应用间调用关系的确定方法、调用规则生成方法及装置
CN107515780A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 应用间调用关系的确定方法、调用规则生成方法及装置
CN106201508A (zh) * 2016-07-08 2016-12-07 北京金山安全软件有限公司 一种信息显示方法、装置及电子设备
CN106201508B (zh) * 2016-07-08 2020-06-05 北京金山安全软件有限公司 一种信息显示方法、装置及电子设备
CN106528206A (zh) * 2016-10-12 2017-03-22 北京奇虎科技有限公司 应用的启动控制方法、装置和加固应用安装包的装置
CN107992313A (zh) * 2016-10-25 2018-05-04 航天信息软件技术有限公司 软件在线升级方法及装置
CN106775862A (zh) * 2016-12-08 2017-05-31 蓝信工场(北京)科技有限公司 应用加载方法及装置
CN106598662A (zh) * 2016-12-08 2017-04-26 蓝信工场(北京)科技有限公司 基于android的应用加载方法及装置
CN108255545A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 组件间的功能调用方法、装置及组件化架构系统
CN108287758A (zh) * 2017-01-09 2018-07-17 阿里巴巴集团控股有限公司 一种应用资源管理方法、使用方法及装置
CN106874746B (zh) * 2017-01-13 2020-01-17 北京安云世纪科技有限公司 应用程序调用方法、装置和移动终端
CN106874746A (zh) * 2017-01-13 2017-06-20 北京奇虎科技有限公司 应用程序调用方法、装置和移动终端
CN107402752A (zh) * 2017-06-09 2017-11-28 中国邮政储蓄银行股份有限公司 应用的定时触发方法和装置
CN110998525A (zh) * 2017-08-08 2020-04-10 华为技术有限公司 一种广播事件处理方法及设备
US11449369B2 (en) 2017-08-08 2022-09-20 Huawei Technologies Co., Ltd. Broadcast event processing method and device
CN108595220A (zh) * 2018-04-25 2018-09-28 上海掌门科技有限公司 应用组件的处理方法、设备及计算机可读存储介质
CN110083695A (zh) * 2019-05-10 2019-08-02 百度在线网络技术(北京)有限公司 技能服务调用方法、装置及存储介质
CN110175082A (zh) * 2019-05-31 2019-08-27 三角兽(北京)科技有限公司 通知消息的处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP2998899A1 (en) 2016-03-23
BR112015008624A2 (pt) 2017-07-04
MX356175B (es) 2018-05-17
JP6068736B2 (ja) 2017-01-25
RU2647625C2 (ru) 2018-03-16
MX2015003752A (es) 2017-03-20
RU2015113732A (ru) 2016-11-10
WO2016041312A1 (zh) 2016-03-24
JP2016534487A (ja) 2016-11-04
KR20160046751A (ko) 2016-04-29
CN104267977B (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
CN104267977A (zh) 应用程序运行方法及装置
CN106371327B (zh) 分享控制权的方法及装置
US9870239B2 (en) Method and device for running application program
CN105451369A (zh) 低功耗蓝牙设备的连接参数更新方法及装置
CN104778063A (zh) 资源更新方法和装置
CN105159672A (zh) 远程协助方法和客户端
CN104853136A (zh) 视频通信方法及装置
CN105094931A (zh) 软件升级方法及装置
CN104536848A (zh) 固件恢复方法、装置和终端
CN104869569A (zh) 应用程序的网络权限控制方法及装置
CN104766005A (zh) 应用软件访问权限的管理方法和装置
CN105119790A (zh) 设备控制方法及装置
CN103916468B (zh) 系统升级方法、终端、服务器及升级系统
CN105824633A (zh) 应用程序的多语言资源切换方法及装置
CN104536935A (zh) 计算显示方法、计算编辑方法及装置
CN104811776A (zh) 多媒体播放方法及装置
CN105068848A (zh) 系统升级方法及装置
CN105554064A (zh) 设置头像的方法及装置
CN103914337A (zh) 服务调用方法、装置及终端
CN105094830A (zh) 一种执行目标功能的方法和装置
CN104317647A (zh) 应用功能实现方法、装置及终端
CN105094900A (zh) 一种下载控制程序的方法及装置
CN112256448A (zh) 远程控制方法、装置、电子设备、系统及存储介质
CN105468417A (zh) 应用软件安装方法和装置
CN105577775A (zh) 双通道下载方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant