CN106681818B - 一种安卓底层系统事件的传递方法和装置 - Google Patents

一种安卓底层系统事件的传递方法和装置 Download PDF

Info

Publication number
CN106681818B
CN106681818B CN201611247030.8A CN201611247030A CN106681818B CN 106681818 B CN106681818 B CN 106681818B CN 201611247030 A CN201611247030 A CN 201611247030A CN 106681818 B CN106681818 B CN 106681818B
Authority
CN
China
Prior art keywords
data
specified
event
system event
area
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.)
Active
Application number
CN201611247030.8A
Other languages
English (en)
Other versions
CN106681818A (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611247030.8A priority Critical patent/CN106681818B/zh
Publication of CN106681818A publication Critical patent/CN106681818A/zh
Application granted granted Critical
Publication of CN106681818B publication Critical patent/CN106681818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种安卓底层系统事件的传递方法和装置。其中方法包括:获取指定的底层系统事件的数据;将所述指定的底层系统事件的数据写入到指定区域;通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据。该技术方案改变了底层系统事件易被劫持的传递方式,通过主动获取并控制底层系统事件的传递,确保了底层系统事件传递的安全性。

Description

一种安卓底层系统事件的传递方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种安卓底层系统事件的传递方法和装置。
背景技术
安卓系统的层次架构具有特殊性,其底层的内核可以依赖Linux内核实现的,许多硬件操作等底层系统事件都是由内核进行处理,再通知上层的应用。而底层系统事件在向上层应用进行传递的过程中容易被劫持,从而影响应用的使用,以游戏应用为例,对硬件操作事件的劫持可能实现游戏挂机、自动控制等操作,对游戏环境十分不利,因此,需要一种确保安卓底层系统事件安全传递的方法。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的安卓底层系统事件的传递方法和装置。
依据本发明的一个方面,提供了一种安卓底层系统事件的传递方法,包括:
获取指定的底层系统事件的数据;
将所述指定的底层系统事件的数据写入到指定区域;
通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据。
可选地,所述获取指定的底层系统事件的数据包括:
获取指定底层系统事件的写入事件;
在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域。
可选地,该方法还包括:
在拷贝已写入的数据至指定区域的同时,删除所述数据写入区域中已被拷贝的数据。
可选地,所述获取指定底层系统事件的写入事件包括:
获取指定底层系统事件的文件描述符;
根据所述指定底层系统事件的文件描述符,注册所述对指定底层系统事件的写入事件的监听事件。
可选地,所述数据写入区域为如下中的至少一种:
共享内存;
Socket长连接;
Binder进程。
可选地,所述将所述指定的底层系统事件的数据写入到指定区域还包括:
将所述指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码key code。
可选地,该方法还包括:
对写入指定区域的数据进行加密处理。
可选地,所述通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据包括:
确定当前在屏幕进行展示的应用为当前运行的安卓应用。
可选地,所述指定的底层系统事件为硬件操作事件。
依据本发明的另一方面,提供了一种安卓底层系统事件的传递装置,包括:
数据处理单元,适于获取指定的底层系统事件的数据,将所述指定的底层系统事件的数据写入到指定区域;
通知单元,适于通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据。
可选地,所述数据处理单元,适于获取指定底层系统事件的写入事件,在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域。
可选地,所述数据处理单元,还适于在拷贝已写入的数据至指定区域的同时,删除所述数据写入区域中已被拷贝的数据。
可选地,所述数据处理单元,适于获取指定底层系统事件的文件描述符,根据所述指定底层系统事件的文件描述符,注册所述对指定底层系统事件的写入事件的监听事件。
可选地,所述数据写入区域为如下中的至少一种:
共享内存;
Socket长连接;
Binder进程。
可选地,所述数据处理单元,还适于将所述指定的底层系统事件的扫描码scancode翻译为可被安卓系统识别的键码key code。
可选地,所述数据处理单元,还适于对写入指定区域的数据进行加密处理。
可选地,所述通知单元,适于确定当前在屏幕进行展示的应用为当前运行的安卓应用。
可选地,所述指定的底层系统事件为硬件操作事件。
由上述可知,本发明的技术方案,在获取到指定的底层系统事件的数据后,将其写入指定区域,再通知当前运行的应用从指定区域获取相应的数据,从而实现了底层系统事件的传递。该技术方案改变了底层系统事件易被劫持的传递方式,通过主动获取并控制底层系统事件的传递,确保了底层系统事件传递的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种安卓底层系统事件的传递方法的流程示意图;
图2示出了根据本发明一个实施例的一种安卓底层系统事件的传递装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种安卓底层系统事件的传递方法的流程示意图,如图1所示,该方法包括:
步骤S110,获取指定的底层系统事件的数据。
步骤S120,将指定的底层系统事件的数据写入到指定区域。
步骤S130,通知当前运行的安卓应用从指定区域获取底层系统事件的数据。
可见,图1所示的方法,在获取到指定的底层系统事件的数据后,将其写入指定区域,再通知当前运行的应用从指定区域获取相应的数据,从而实现了底层系统事件的传递。该技术方案改变了底层系统事件易被劫持的传递方式,通过主动获取并控制底层系统事件的传递,确保了底层系统事件传递的安全性。
在本发明的一个实施例中,图1所述的方法中,获取指定的底层系统事件的数据包括:获取指定底层系统事件的写入事件;在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域。
底层系统事件,例如屏幕点击事件,在传递过程中需要内核向共享内存中写入数据,再由安卓应用从共享内存中读取数据。而对于一个指定的底层系统事件,其数据写入区域是可以获得的,如果对其中的数据进行修改,那么安卓应用获取到的就是被劫持的底层系统事件,因此在本实施例中,从相应的数据写入区域拷贝已写入的数据至指定区域。
为了数据写入区域的数据被劫持,在本发明的一个实施例中,上述方法还包括:在拷贝已写入的数据至指定区域的同时,删除数据写入区域中已被拷贝的数据。
这样通过边写边擦的操作,在底层系统的写入操作执行完毕后,数据写入区域中依然是空白的,也就保证了底层系统事件不被劫持,同时安卓应用也不会从该数据写入区域获得数据,避免出现从多个区域获得同一底层系统事件。
在本发明的一个实施例中,上述方法中,获取指定底层系统事件的写入事件包括:获取指定底层系统事件的文件描述符;根据指定底层系统事件的文件描述符,注册对指定底层系统事件的写入事件的监听事件。
安卓系统的底层系统内核为Linux内核,Linux将硬件设备视为一个文件,相应地,在/dev/input/event目录下保存了多个硬件操作事件,例如屏幕事件、USB事件、键盘事件等。在本发明的实施例中,指定的底层系统事件可以为硬件操作事件。那么在发生相应的硬件操作事件时,底层系统会调用open()函数,得到相应的文件描述符fd。那么通过调用epoll()函数,就可以注册对定底层系统事件的写入事件的监听事件,例如,epoll(fd,written)。在监听到写入事件后,可以通过epoll_wait函数阻塞该写入事件,然后进行从相应的数据写入区域拷贝已写入的数据至指定区域的操作,在这个过程中需要为指定区域分配内存空间。
在本发明的一个实施例中,上述方法中,数据写入区域为如下中的至少一种:共享内存;Socket长连接;Binder进程。上述几种都可以作为传递媒介,将底层系统事件传递给安卓应用。
在本发明的一个实施例中,上述方法中,将指定的底层系统事件的数据写入到指定区域还包括:将指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码key code。
例如,硬件操作事件由于要与硬件直接联系,其产生的数据是可以被硬件识别的scan code,但scan code不能被安卓系统识别,因此还需要进行翻译,即将scan code翻译为key code。为了进一步确保数据安全,还可以对写入指定区域的数据进行加密处理。这样就需要安卓应用在获取到数据时进行相应的解密。
在本发明的一个实施例中,上述方法中,通知当前运行的安卓应用从指定区域获取底层系统事件的数据包括:确定当前在屏幕进行展示的应用为当前运行的安卓应用。
在本实施例中提供了一种较为简便的确定当前运行的安卓应用的方法,即考虑到安卓应用运行时会占用整个屏幕,因此确定当前在屏幕进行展示的应用为当前运行的安卓应用。
图2示出了根据本发明一个实施例的一种安卓底层系统事件的传递装置的结构示意图,如图2所示,安卓底层系统事件的传递装置200包括:
数据处理单元210,适于获取指定的底层系统事件的数据,将指定的底层系统事件的数据写入到指定区域。
通知单元220,适于通知当前运行的安卓应用从指定区域获取底层系统事件的数据。
可见,图2所示的装置,在获取到指定的底层系统事件的数据后,将其写入指定区域,再通知当前运行的应用从指定区域获取相应的数据,从而实现了底层系统事件的传递。该技术方案改变了底层系统事件易被劫持的传递方式,通过主动获取并控制底层系统事件的传递,确保了底层系统事件传递的安全性。
在本发明的一个实施例中,图2所示的装置中,数据处理单元210,适于获取指定底层系统事件的写入事件,在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域。
底层系统事件,例如屏幕点击事件,在传递过程中需要内核向共享内存中写入数据,再由安卓应用从共享内存中读取数据。而对于一个指定的底层系统事件,其数据写入区域是可以获得的,如果对其中的数据进行修改,那么安卓应用获取到的就是被劫持的底层系统事件,因此在本实施例中,从相应的数据写入区域拷贝已写入的数据至指定区域。
为了数据写入区域的数据被劫持,在本发明的一个实施例中,上述装置中,数据处理单元210,还适于在拷贝已写入的数据至指定区域的同时,删除数据写入区域中已被拷贝的数据。
这样通过边写边擦的操作,在底层系统的写入操作执行完毕后,数据写入区域中依然是空白的,也就保证了底层系统事件不被劫持,同时安卓应用也不会从该数据写入区域获得数据,避免出现从多个区域获得同一底层系统事件。
在本发明的一个实施例中,上述装置中,数据处理单元210,适于获取指定底层系统事件的文件描述符,根据指定底层系统事件的文件描述符,注册对指定底层系统事件的写入事件的监听事件。
安卓系统的底层系统内核为Linux内核,Linux将硬件设备视为一个文件,相应地,在/dev/input/event目录下保存了多个硬件操作事件,例如屏幕事件、USB事件、键盘事件等。在本发明的实施例中,指定的底层系统事件可以为硬件操作事件。那么在发生相应的硬件操作事件时,底层系统会调用open()函数,得到相应的文件描述符fd。那么通过调用epoll()函数,就可以注册对定底层系统事件的写入事件的监听事件,例如,epoll(fd,written)。在监听到写入事件后,可以通过epoll_wait函数阻塞该写入事件,然后进行从相应的数据写入区域拷贝已写入的数据至指定区域的操作,在这个过程中需要为指定区域分配内存空间。
在本发明的一个实施例中,上述装置中,数据写入区域为如下中的至少一种:共享内存;Socket长连接;Binder进程。上述几种都可以作为传递媒介,将底层系统事件传递给安卓应用。
在本发明的一个实施例中,上述装置中,数据处理单元210,还适于将指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码key code。
例如,硬件操作事件由于要与硬件直接联系,其产生的数据是可以被硬件识别的scan code,但scan code不能被安卓系统识别,因此还需要进行翻译,即将scan code翻译为key code。为了进一步确保数据安全,还可以由数据处理单元210,还适于对写入指定区域的数据进行加密处理。
在本发明的一个实施例中,上述装置中,通知单元220,适于确定当前在屏幕进行展示的应用为当前运行的安卓应用。
在本实施例中提供了一种较为简便的确定当前运行的安卓应用的方法,即考虑到安卓应用运行时会占用整个屏幕,因此确定当前在屏幕进行展示的应用为当前运行的安卓应用。
综上所述,本发明的技术方案,在获取到指定的底层系统事件的数据后,将其写入指定区域,再通知当前运行的应用从指定区域获取相应的数据,从而实现了底层系统事件的传递。该技术方案改变了底层系统事件易被劫持的传递方式,通过主动获取并控制底层系统事件的传递,确保了底层系统事件传递的安全性。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的安卓底层系统事件的传递装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种安卓底层系统事件的传递方法,其中,该方法包括:
获取指定的底层系统事件的数据;
将所述指定的底层系统事件的数据写入到指定区域;
通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据。
A2、如A1所述的方法,其中,所述获取指定的底层系统事件的数据包括:
获取指定底层系统事件的写入事件;
在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域。
A3、如A2所述的方法,其中,该方法还包括:
在拷贝已写入的数据至指定区域的同时,删除所述数据写入区域中已被拷贝的数据。
A4、如A2所述的方法,其中,所述获取指定底层系统事件的写入事件包括:
获取指定底层系统事件的文件描述符;
根据所述指定底层系统事件的文件描述符,注册所述对指定底层系统事件的写入事件的监听事件。
A5、如A2所述的方法,其中,所述数据写入区域为如下中的至少一种:
共享内存;
Socket长连接;
Binder进程。
A6、如A1所述的方法,其中,所述将所述指定的底层系统事件的数据写入到指定区域还包括:
将所述指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码key code。
A7、如A6所述的方法,其中,该方法还包括:
对写入指定区域的数据进行加密处理。
A8、如A1所述的方法,其中,所述通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据包括:
确定当前在屏幕进行展示的应用为当前运行的安卓应用。
A9、如A1-A8中任一项所述的方法,其中,所述指定的底层系统事件为硬件操作事件。
本发明的实施例还公开了B10、一种安卓底层系统事件的传递装置,其中,该装置包括:
数据处理单元,适于获取指定的底层系统事件的数据,将所述指定的底层系统事件的数据写入到指定区域;
通知单元,适于通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据。
B11、如B10所述的装置,其中,
所述数据处理单元,适于获取指定底层系统事件的写入事件,在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域。
B12、如B11所述的装置,其中,
所述数据处理单元,还适于在拷贝已写入的数据至指定区域的同时,删除所述数据写入区域中已被拷贝的数据。
B13、如B11所述的装置,其中,
所述数据处理单元,适于获取指定底层系统事件的文件描述符,根据所述指定底层系统事件的文件描述符,注册所述对指定底层系统事件的写入事件的监听事件。
B14、如B11所述的装置,其中,所述数据写入区域为如下中的至少一种:
共享内存;
Socket长连接;
Binder进程。
B15、如B10所述的装置,其中,
所述数据处理单元,还适于将所述指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码key code。
B16、如B15所述的装置,其中,
所述数据处理单元,还适于对写入指定区域的数据进行加密处理。
B17、如B10所述的装置,其中,
所述通知单元,适于确定当前在屏幕进行展示的应用为当前运行的安卓应用。
B18、如B10-B17中任一项所述的装置,其中,所述指定的底层系统事件为硬件操作事件。

Claims (12)

1.一种安卓底层系统事件的传递方法,其中,该方法包括:
获取指定的底层系统事件的数据,包括:获取指定底层系统事件的写入事件;在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域;
其中,在拷贝已写入的数据至指定区域的同时,删除所述数据写入区域中已被拷贝的数据;
将所述指定的底层系统事件的数据写入到指定区域;
通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据;
所述指定的底层系统事件为硬件操作事件。
2.如权利要求1所述的方法,其中,所述获取指定底层系统事件的写入事件包括:
获取指定底层系统事件的文件描述符;
根据所述指定底层系统事件的文件描述符,注册对所述指定底层系统事件的写入事件的监听事件。
3.如权利要求1所述的方法,其中,所述数据写入区域为如下中的至少一种:
共享内存;
Socket长连接;
Binder进程。
4.如权利要求1所述的方法,其中,所述将所述指定的底层系统事件的数据写入到指定区域还包括:
将所述指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码keycode。
5.如权利要求4所述的方法,其中,该方法还包括:
对写入指定区域的数据进行加密处理。
6.如权利要求1所述的方法,其中,所述通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据包括:
确定当前在屏幕进行展示的应用为当前运行的安卓应用。
7.一种安卓底层系统事件的传递装置,其中,该装置包括:
数据处理单元,适于获取指定的底层系统事件的数据,将所述指定的底层系统事件的数据写入到指定区域;
所述数据处理单元,还适于获取指定底层系统事件的写入事件,在底层系统执行写入操作时,从相应的数据写入区域拷贝已写入的数据至指定区域;
所述数据处理单元,还适于在拷贝已写入的数据至指定区域的同时,删除所述数据写入区域中已被拷贝的数据;
通知单元,适于通知当前运行的安卓应用从所述指定区域获取底层系统事件的数据;
所述指定的底层系统事件为硬件操作事件。
8.如权利要求7所述的装置,其中,
所述数据处理单元,适于获取指定底层系统事件的文件描述符,根据所述指定底层系统事件的文件描述符,注册对所述指定底层系统事件的写入事件的监听事件。
9.如权利要求7所述的装置,其中,所述数据写入区域为如下中的至少一种:
共享内存;
Socket长连接;
Binder进程。
10.如权利要求7所述的装置,其中,
所述数据处理单元,还适于将所述指定的底层系统事件的扫描码scan code翻译为可被安卓系统识别的键码key code。
11.如权利要求10所述的装置,其中,
所述数据处理单元,还适于对写入指定区域的数据进行加密处理。
12.如权利要求7所述的装置,其中,
所述通知单元,适于确定当前在屏幕进行展示的应用为当前运行的安卓应用。
CN201611247030.8A 2016-12-29 2016-12-29 一种安卓底层系统事件的传递方法和装置 Active CN106681818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611247030.8A CN106681818B (zh) 2016-12-29 2016-12-29 一种安卓底层系统事件的传递方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611247030.8A CN106681818B (zh) 2016-12-29 2016-12-29 一种安卓底层系统事件的传递方法和装置

Publications (2)

Publication Number Publication Date
CN106681818A CN106681818A (zh) 2017-05-17
CN106681818B true CN106681818B (zh) 2021-06-18

Family

ID=58872491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611247030.8A Active CN106681818B (zh) 2016-12-29 2016-12-29 一种安卓底层系统事件的传递方法和装置

Country Status (1)

Country Link
CN (1) CN106681818B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112394871B (zh) * 2020-11-30 2021-11-02 北京麟卓信息科技有限公司 一种Linux平台支持安卓系统多点触摸的方法及装置
CN114371978B (zh) * 2022-01-07 2022-10-25 北京仁光科技有限公司 安卓获取数据的方法、设备、装置和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707436A (zh) * 2004-06-04 2005-12-14 深圳市朗科科技有限公司 一种主机与设备进行数据交换的方法
CN103051721A (zh) * 2012-12-26 2013-04-17 华为技术有限公司 一种事件通知方法及装置
CN103902389A (zh) * 2014-03-06 2014-07-02 厦门雅迅网络股份有限公司 基于android平台的支持双向通信的设备管理方法
US9355161B1 (en) * 2005-08-26 2016-05-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
CN105912482A (zh) * 2016-06-24 2016-08-31 飞天诚信科技股份有限公司 一种irp的处理方法及过滤驱动

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707436A (zh) * 2004-06-04 2005-12-14 深圳市朗科科技有限公司 一种主机与设备进行数据交换的方法
US9355161B1 (en) * 2005-08-26 2016-05-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
CN103051721A (zh) * 2012-12-26 2013-04-17 华为技术有限公司 一种事件通知方法及装置
CN103902389A (zh) * 2014-03-06 2014-07-02 厦门雅迅网络股份有限公司 基于android平台的支持双向通信的设备管理方法
CN105912482A (zh) * 2016-06-24 2016-08-31 飞天诚信科技股份有限公司 一种irp的处理方法及过滤驱动

Also Published As

Publication number Publication date
CN106681818A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
KR101788492B1 (ko) 샌드박싱된 애플리케이션을 위한 매개 데이터 교환
CN105045643B (zh) 安卓系统中Launcher的启动方法及装置
US8924608B2 (en) Peripheral device management
CN100426238C (zh) Vex-虚拟扩展框架
US8970884B2 (en) Image forming apparatus
US11113368B2 (en) Method and electronic device for controlling permission of application program
EP3539046B1 (en) Electronic device and method for managing data in electronic device
CN1700171A (zh) 提供从虚拟环境对硬件的直接访问
KR20180124048A (ko) 가상 리소스 뷰들을 이용한 데이터 보호
US20140337585A1 (en) Page table management
US20180307847A1 (en) Selective encoding method and electronic device using same
US20200371821A1 (en) Method and apparatus for adapting handle device to third-party application, and storage medium
CN112740182A (zh) 基于云的可复合数据层
US11372780B2 (en) Granular access control for secure memory
US20220121451A1 (en) Inter-core data processing method, system on chip and electronic device
US11868451B2 (en) On-demand application permissions
JPWO2017056725A1 (ja) 車載制御装置
CN106681818B (zh) 一种安卓底层系统事件的传递方法和装置
US11392694B2 (en) Electronic apparatus and controlling method thereof
CN104932972A (zh) 一种反动态调试应用程序的方法及装置
US20220261489A1 (en) Capability management method and computer device
KR20170019799A (ko) 파일 시스템을 제어하는 전자 장치 및 그 동작 방법
US9838397B2 (en) Information processing apparatus and control method thereof
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
US9594701B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium

Legal Events

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