CN104391695B - 一种通过外部设备进行同步控制的方法及其装置 - Google Patents

一种通过外部设备进行同步控制的方法及其装置 Download PDF

Info

Publication number
CN104391695B
CN104391695B CN201410638616.1A CN201410638616A CN104391695B CN 104391695 B CN104391695 B CN 104391695B CN 201410638616 A CN201410638616 A CN 201410638616A CN 104391695 B CN104391695 B CN 104391695B
Authority
CN
China
Prior art keywords
android
handling system
event
data handling
external equipment
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
CN201410638616.1A
Other languages
English (en)
Other versions
CN104391695A (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.)
Lingyang Chengxin Technology Chengdu Co ltd
Original Assignee
BEIJING SUNPLUS-EHUE TECHNOLOGY Co Ltd
Sunplus 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 SUNPLUS-EHUE TECHNOLOGY Co Ltd, Sunplus Technology Co Ltd filed Critical BEIJING SUNPLUS-EHUE TECHNOLOGY Co Ltd
Priority to CN201410638616.1A priority Critical patent/CN104391695B/zh
Publication of CN104391695A publication Critical patent/CN104391695A/zh
Priority to US15/102,278 priority patent/US20180107493A1/en
Priority to PCT/CN2015/094039 priority patent/WO2016070847A1/zh
Application granted granted Critical
Publication of CN104391695B publication Critical patent/CN104391695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种通过外部设备进行同步控制的方法及其装置,应用于安卓数据处理系统,包括:通过与外部设备的连接通道接收所述外部设备发送的控制信息;以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息;所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。本申请可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。

Description

一种通过外部设备进行同步控制的方法及其装置
技术领域
本申请涉及同步控制技术领域,尤其涉及一种通过外部设备进行同步控制的方法及其装置。
背景技术
现有的安卓数据处理系统,如手机、PC、车机等,可以通过用户界面进行操作,播放存储的媒体内容(音乐、视频、照片、有声读物等),亦可进行其他娱乐操作,如游戏等。但是,由于受其软硬件限制,造成播放和操作效果受限。
在两个装置之间共享图像的镜像服务开始得到广泛的应用,其令提供图像信息的源装置和输出接收到图像的外部装置来提供镜像服务。源装置通常为便携设备,其显示屏幕通常较小,而接收装置的显示屏幕通常较大。利用镜像服务,通过接收装置和源装置的配合控制的关联服务已经逐渐增加。
公开日为2014年1月22日的中国专利CN103530032公开了移动终端、图像显示装置及使用其的用户接口提供方法。一种控制连接到外部连接的图像显示装置的多个移动终端的方法。该方法包括:将屏幕信息从第一移动终端传送到图像显示装置;将屏幕信息从第二移动终端传送到图像显示装置;在图像显示装置的显示器的第一区域中显示与第一移动终端的屏幕信息相对应的第一镜像屏幕,并且在图像显示装置的显示器的第二区域中显示与第二移动终端的屏幕信息相对应的第二镜像屏幕;跟踪从图像显示装置的输入单元输入的在图像显示装置的显示器上的光标;以及当光标在显示器的第一区域内时,从图像显示装置控制第一移动终端,并且当光标在显示器的第二区 域内时,从图像显示装置控制第二移动终端。其分别显示两个移动终端的屏幕信息,并分别对两个移动终端进行控制,但是其仅控制两个移动终端的显示应用,并不能够控制两个移动终端的播放和操作。其播放和操作仍然都是通过移动终端进行,控制图像显示装置进行同步播放和操作的,而图像显示装置无法控制移动终端的播放和操作。
公开日为2014年2月12日的中国专利CN103581337包括智能手机和车载装置,包括以下步骤,a)智能手机和车载装置之间通过独立的显示信道和互动信道分别进行连接;b)手机通过显示信道将显示内容镜像到车载屏幕上;c)车载装置通过互动信道将操作镜像到智能手机上。所述显示信道为USB或者HDMI。但是,智能手机和车载装置之间需要建立两个信道,分别为显示信道和互动信道。并且,该技术方案需要获得所述智能手机的root(系统管理员)权限,方可实现对智能手机的同步控制,破坏了智能手机现有的安全系统,造成智能手机厂家不再对出厂的智能手机提供保修服务。
公开日为2014年1月22日的中国大陆专利CN101582053包括:可在具有用户输入设备和显示设备的远程控制附件设备上呈现图形用户界面(“GUI”)。所述GUI可由便携式媒体设备定义和管理,其中利用所述GUI来控制所述便携式媒体设备。所述便携式媒体设备可向所述附件提供要显示的GUI图像。所述附件可向所述便携式媒体设备发送指示响应于所显示的图像而对输入设备的用户操作的信息。所述便携式媒体设备可处理该输入以识别用户所请求的动作并采取适当的动作,所述动作可包括更新提供给所述附件的所述GUI图像。但是,该技术方案同样需要获得所述智能手机的root(系统管理员)权限,方可实现对智能手机的同步控制,破坏了智能手机现有的安全系统,造成智能手机厂家不再对出厂的智能手机提供保修服务。
发明内容
有鉴于此,本申请提供一种通过外部设备进行同步控制的方法及其装置,其无需获得现有的数据处理系统的root权限,即可实现利用外部设备对安卓 数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
为达到上述目的之一,本申请的实施例采用如下技术方案:
本申请实施例的一方面,本申请提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统,包括:
通过与外部设备的连接通道接收所述外部设备发送的控制信息;
以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息;
所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
在本申请一实施例中,所述控制事件为触控事件。
在本申请一实施例中,所述事件信息为input或sendevent事件信息。
在本申请一实施例中,所述事件产生程序的预存包括:
通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间;
编写并保存安卓JAVA程序到所述安卓数据处理系统,以获得所述安卓JAVA程序控制的目录空间;
运行所述安卓JAVA程序,将存储到所述安卓数据处理系统存储空间的所述事件产生程序拷贝到所述安卓JAVA程序控制的目录空间;
通知所述安卓Shell用户所述目录空间的名称,并修改所述事件产生程序的文件属性为其他用户身份可运行的可执行文件。
在本申请一实施例中,所述安卓JAVA程序以安卓安装包apk的形式保存到所述安卓数据处理系统。
在本申请一实施例中,所述以安卓Shell用户身份运行预存的事件产生程序是通过在所述安卓数据处理系统上输入的adb Shell命令来执行所述目录空间保存的事件产生程序。
在本申请一实施例中,所述事件产生程序的预存包括:
通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下;
通过安卓调试桥ADB的adb Shell命令修改所述被拷贝过来的程序的属性为S属性的可执行文件。
在本申请一实施例中,所述事件产生程序的预存包括:
在所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下新建目录;
通过安卓调试桥ADB的拷贝命令将所述新建目录的属性设置为T属性;
通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中所述T属性的新建目录下;
通过安卓调试桥ADB的拷贝命令修改所述被拷贝过来的程序的属性为S属性的可执行文件。
在本申请一实施例中,所述以安卓Shell用户身份运行预存的事件产生程序是通过安卓安装包apk的程序调用所述事件产生程序。
在本申请一实施例中,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。
在本申请一实施例中,所述连接通道为USB线。
在本申请一实施例中,所述连接通道是通过USB网络共享方式获得。
在本申请一实施例中,还包括通过指令修改所述事件产生程序的SELinuxcontext属性,令所述事件产生程序可以被安卓Shell用户身份运行。
在本申请一实施例中,所述控制信息为触控信息。
本申请还提供一种同步控制其他安卓数据处理系统的方法,应用于外部设备,包括:
接收用户输入的控制指令,并对接收的所述控制指令进行处理,转变为控制信息;
将所述控制信息通过连接通道发送给安卓数据处理系统,令所述安卓数据处理系统根据所述控制信息进行相应的操作。
在本申请一实施例中,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。
在本申请一实施例中,所述连接通道为USB线。
在本申请一实施例中,所述连接通道是通过USB网络共享方式获得。
在本申请一实施例中,所述控制指令为触控指令。
本申请还提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统,包括:
信息接收模块,用于通过与外部设备的连接通道接收所述外部设备发送的控制信息;
信息产生模块,用于以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息;
事件生成模块,用于所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
本申请还提供一种同步控制其他安卓数据处理系统的装置,应用于外部设备,包括:
信息产生模块,用于接收用户输入的控制指令,并对接收的所述控制指令进行处理,转变为控制信息;
信息发送模块,用于将所述控制信息通过连接通道发送给安卓数据处理系统,令所述安卓数据处理系统根据所述控制信息进行相应的操作。
由以上技术方案可见,本申请通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请安卓数据处理系统的结构示意图;
图2是本申请通过外部设备进行同步控制的方法一实施例的流程图;
图3是本申请通过外部设备进行同步控制的方法另一实施例中事件产生程序的预存流程图;
图4是本申请通过外部设备进行同步控制的方法再一实施例中事件产生程序的预存流程图;
图5是本申请通过外部设备进行同步控制的方法再一实施例中事件产生程序的预存流程图;
图6是本申请外部显示装置的结构示意图;
图7是本申请通过外部设备进行同步控制的方法再一实施例的流程图;
图8是本申请通过外部设备进行同步控制的装置一实施例的结构示意图;
图9是本申请通过外部设备进行同步控制的装置另一实施例中事件产生装置的结构示意图;
图10是本申请通过外部设备进行同步控制的装置再一实施例中事件产生装置的结构示意图;
图11是本申请通过外部设备进行同步控制的装置再一实施例中事件产生装置的结构示意图;
图12是本申请通过外部设备进行同步控制的装置再一实施例的结构示意图;
图13是本申请一应用场景的示意图;
图14是本申请另一应用场景的示意图。
具体实施方式
参看图1,所述安卓数据处理系统包括安装安卓系统的手机、计算机、PAD、车机等具有数据处理能力的电子设备1,其在硬件上通常包括内部显示器11、第一主控芯片12、第一存储装置13以及第一输入装置14。所述第一输入装置14用于接收用户的输入指令,所述第一存储装置13用于存储各应用程序以及发送接收的数据,所述内部显示器11用于对接收或者处理获得的图像数据进行显示,所述第一主控芯片12用于控制各功能装置的运行。
参看图6,所述外部设备包括手机、计算机、PAD、车机等具有外部显示器的电子设备6,其在硬件上通常包括外部显示器61、第二主控芯片63、第二存储装置62以及第二输入装置64。
在本申请的应用场景中,所述安卓数据处理系统可以为手机,而外部设备为车机,通过所述车机同步控制所述手机。
在本申请的另一应用场景中,所述安卓数据处理系统可以为车机,而外部设备为手机,通过所述手机亦可同步控制所述车机。
所述安卓数据处理系统利用所述主控芯片12运行存储在所述存储装置13中的程序,进行数据处理。而安卓数据处理系统的用户包括普通用户权限和root用户(系统管理员)权限。只有具有root用户权限才能够对安卓数据处理系统接收的外部设备发送的控制信息产生控制事件,而普通用户权限无法对安卓数据处理系统直接根据外部设备的控制信息产生控制事件。如果安卓数据处理系统为了实现通过外部设备同步控制安卓数据处理系统而对安卓数据处理系统的root系统进行更改,则破坏了安卓数据处理系统的安全保护系统,且无法获得安卓数据处理系统厂家的保修。
本申请通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数 据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
当然,实施本申请的任一技术方案必不一定需要同时达到以上所述的所有优点。
为了使本领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请一个实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。参看图1,所述安卓数据处理系统包括安装安卓系统的手机、计算机、PAD、车机等具有数据处理能力的电子设备1,其在硬件上通常包括内部显示器11、第一主控芯片12、第一存储装置13以及第一输入装置14。
参看图2,本申请所述通过外部设备进行同步控制的方法2,包括:
S1、通过与外部设备的连接通道接收所述外部设备发送的控制信息。
具体地,所述外部设备可以为车机等具有处理和显示功能的设备,用户可以通过触摸屏等输入模块输入控制指令给所述外部设备,即所述控制信息可以为触控信息。所述外部设备根据接收的用户输入指令进行处理后得到控制信息,并将所述控制信息通过连接通道发送给所述安卓数据处理系统。由于外部设备的输入相较于安卓数据处理系统更加便捷,所以改善了用户体验,令用户输入更加方便。
S2、以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
具体地,安卓系统提供了input命令和sendevent命令行程序。所述input 命令和sendevent命令行程序可以在安卓调试桥壳体层adb Shell环境下运行。本申请将安卓数据处理系统接收的控制信息转化为input命令和sendevent命令事件,即可成为安卓数据处理系统可以识别的事件信息。
本申请利用安卓系统提供的input命令和sendevent命令行程序,以安卓Shell用户身份运行预存的事件产生程序,而无需以root用户身份,即可将外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
S3、所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
本申请安卓数据处理系统将接收的控制信息转化后的input和sendevent事件信息生成相应的控制事件,同步控制所述安卓数据处理系统进行相应的动作。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。所述方法包括步骤:
S1、通过与外部设备的连接通道接收所述外部设备发送的控制信息。
具体地,所述外部设备可以为车机等具有处理和显示功能的设备,用户可以通过触摸屏等输入模块输入控制指令给所述外部设备,即所述控制信息可以为触控信息。所述外部设备根据接收的用户输入指令进行处理后得到控制信息,并将所述控制信息通过连接通道发送给所述安卓数据处理系统。由于外部设备的输入相较于安卓数据处理系统更加便捷,所以改善了用户体验,令用户输入更加方便。
S2、以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
具体地,安卓系统提供了input命令和sendevent命令行程序。所述input命令和sendevent命令行程序可以在安卓调试桥壳体层adb Shell环境下运行。本申请将安卓数据处理系统接收的控制信息转化为input命令和sendevent命令事件,即可成为安卓数据处理系统可以识别的事件信息。
参看图3,所述事件产生程序的预存装置3包括:
P1、通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间。
具体地,所述安卓数据处理系统存储空间为所述安卓数据处理系统的SD卡。所述ADB的拷贝命令通常为adb push或者adb Shell copy等命令。
由于安卓调试桥ADB的所述Shell用户没有权限在SD卡上直接运行所述事件产生程序,需要将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。
因此,将所述所述事件产生程序存储到所述安卓数据处理系统的SD卡之后还包括步骤P2-P4。
P2、编写并保存安卓JAVA程序到所述安卓数据处理系统,以获得所述安卓JAVA程序控制的目录空间。
具体的,所述安卓JAVA程序以安卓安装包apk的形式保存到所述安卓数据处理系统。这样安卓系统会为此JAVA程序建立可以运行JAVA程序并存储资料的目录空间,所述目录空间是可以被所述安卓JAVA程序控制的。
P3、运行所述安卓JAVA程序,将存储到所述安卓数据处理系统存储空间的所述事件产生程序拷贝到所述安卓JAVA程序控制的目录空间。
P4、通知所述安卓Shell用户所述目录空间的名称,并修改所述事件产生程序的文件属性为其他用户身份可运行的可执行文件。
所以,本申请将所述事件产生程序放到一个可以让安卓调试桥ADB的所 述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。本申请安卓调试桥ADB的所述Shell用户就可以通过运行所述安卓JAVA程序目录下的可执行文件,从而实现在SD卡上直接运行所述事件产生程序,令接收的控制信息转化成为安卓数据处理系统可识别的事件信息。
在本申请具体实现中,所述以安卓Shell用户身份运行预存的事件产生程序是通过在所述安卓数据处理系统上输入的adb Shell命令来执行所述目录空间保存的事件产生程序。
S3、所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
本申请安卓数据处理系统将接收的控制信息转化后的input和sendevent事件信息生成相应的控制事件,同步控制所述安卓数据处理系统进行相应的动作。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。所述方法包括步骤:
S1、通过与外部设备的连接通道接收所述外部设备发送的控制信息。
具体地,所述外部设备可以为车机等具有处理和显示功能的设备,用户可以通过触摸屏等输入模块输入控制指令给所述外部设备,即所述控制信息可以为触控信息。所述外部设备根据接收的用户输入指令进行处理后得到控制信息,并将所述控制信息通过连接通道发送给所述安卓数据处理系统。由于 外部设备的输入相较于安卓数据处理系统更加便捷,所以改善了用户体验,令用户输入更加方便。
S2、以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
具体地,安卓系统提供了input命令和sendevent命令行程序。所述input命令和sendevent命令行程序可以在安卓调试桥壳体层adb Shell环境下运行。本申请将安卓数据处理系统接收的控制信息转化为input命令和sendevent命令事件,即可成为安卓数据处理系统可以识别的事件信息。
具体地,参看图4,所述事件产生程序的预存方法4包括:
Q1、通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下。
所述事件产生程序存储到所述安卓数据处理系统的SD卡的对所述Shell用户开放写权限的目录下,比如/data/local/tmp内。所述ADB的拷贝命令通常为adb push或者adbShell copy等命令。
由于安卓调试桥ADB的所述Shell用户没有权限在SD卡上直接运行所述事件产生程序,需要将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。
因此,将所述所述事件产生程序存储到所述安卓数据处理系统的SD卡之后还包括步骤Q2。
Q2、通过安卓调试桥ADB的adb Shell命令修改所述被拷贝过来的程序的属性为s属性的可执行文件。
s属性称为SetUID,是指当一个可执行程序(文件)在运行时(进程)拥有这个文件所有者(owner)的权限。如果一个可执行程序的属性为s属性,则在执行该可执行文件的用户拥有该文件的Owner的权限。通过安卓调试桥ADB的adb Shell命令修改被拷贝过来的程序的属性为s属性后,用其他用户身份运行所述被拷贝过来的程序,依然可以取得Shell的权限。所述其他 用户身份是指普通的java层的java程序,即用普通的java层的java程序运行所述被拷贝过来的程序,依然可以取得Shell的权限。
在本申请具体实现中,所述以安卓Shell用户身份运行预存的事件产生程序为编写并运行安卓JAVA应用程序,所述安卓JAVA应用程序运行所述Shell用户所有的目录下的所述事件产生程序。
所以,本申请将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。本申请安卓调试桥ADB的所述Shell用户就可以通过运行所述安卓JAVA程序目录下的可执行文件,从而实现在SD卡上直接运行所述事件产生程序,令接收的控制信息转化成为安卓数据处理系统可识别的事件信息。
S3、所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
本申请安卓数据处理系统将接收的控制信息转化后的input和sendevent事件信息生成相应的控制事件,同步控制所述安卓数据处理系统进行相应的动作。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。所述方法包括步骤:S1——S3。
具体地,参看图5,所述事件产生程序的预存方法5包括:
T1、在所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的 目录下新建目录。
在所述安卓数据处理系统的SD卡的对所述Shell用户开放写权限的目录下,比如/data/local/tmp下新建目录。
T2、通过安卓调试桥ADB的拷贝命令将所述新建目录的属性设置为t属性。
所述ADB的拷贝命令通常为adb push或者adb Shell copy等命令。
t属性称为粘住位(sticky bit)。一般情况下unix对一个文件删除,是看是否拥有目录的写权限,只要拥有该目录的写权限,即可删除文件,并不考虑是否为该文件的所有者。比如,建立一个公共可写的目录(shared direcotry),需要很多人拥有写这个目录的权限,但是这样很多人也拥有删除这个目录的权限。本申请在新建的目录位上加上t属性,这样这个目录下的文件只有文件的所有者,或是目录的所有者,或是root用户才能删除这个目录下的文件。
T3、通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中所述t属性的新建目录下。
将所述事件产生程序存储到所述安卓数据处理系统存储空间中所述t属性的新建目录下,这样其他用户无法删除所述事件产生程序。
由于安卓调试桥ADB的所述Shell用户没有权限在SD卡上直接运行所述事件产生程序,需要将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。
因此,将所述所述事件产生程序存储到所述安卓数据处理系统的SD卡之后还包括步骤T4。
T4、通过安卓调试桥ADB的adb Shell命令修改所述被拷贝过来的程序的属性为s属性的可执行文件。
s属性称为SetUID,是指当一个可执行程序(文件)在运行时(进程)拥有这个文件所有者(owner)的权限。如果一个可执行程序的属性为s属性,则 在执行该可执行文件的用户拥有该文件的Owner的权限。通过安卓调试桥ADB的adb Shell命令修改被拷贝过来的程序的属性为s属性后,用其他用户身份运行所述被拷贝过来的程序,依然可以取得Shell的权限。所述其他用户身份是指普通的java层的java程序,即用普通的java层的java程序运行所述被拷贝过来的程序,依然可以取得Shell的权限。
所以,本申请将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。本申请安卓调试桥ADB的所述Shell用户就可以通过运行所述安卓JAVA程序目录下的可执行文件,从而实现在SD卡上直接运行所述事件产生程序,令接收的控制信息转化成为安卓数据处理系统可识别的事件信息。
本申请安卓数据处理系统将接收的控制信息转化后的input和sendevent事件信息生成相应的控制事件,同步控制所述安卓数据处理系统进行相应的动作。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。所述方法包括步骤:
S1、通过与外部设备的连接通道接收所述外部设备发送的控制信息。
由于安卓调试桥ADB可以将安卓数据处理系统的TCP端口和其他与其通过USB相连的所述外部设备(比如车机)的TCP端口关联起来。比如,所述命令“adb forward tcp:100tcp:200”就是将安卓数据处理系统的TCP端 口(port)200和运行安卓调试桥命令的所述外部设备(比如车机)的TCP端口(port)100关联起来,从而安卓数据处理系统只需打开套接字(Socket)TCP 200端口,所述外部设备(比如车机)只需打开套接字(Socket)TCP 100端口,双方就能通讯了。
因此,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。具体地,所述连接通道为USB线。
本实施例无需通过wifi等无线网络或者其他有线网络即可实现安卓数据处理系统和外部设备之间的控制信息传输。本实施例能够应用在某些不能使用无线网络进行数据传输的应用场景,比如飞机在飞行中或者车辆行驶到信号不佳区域等,扩展了所述安卓数据处理系统和外部设备之间显示图像镜像显示所应用的应用场景。并且,本实施例所述安卓数据处理系统和外部设备之间的控制信息传输无需占用网络带宽,使用方便,操作简单,避免了控制信息传输过程中的延时。
S2、以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
S3、所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。所述方法包括步骤所述方法包括步骤:S1——S3。
具体地,所述连接通道是通过USB网络共享方式获得。
本实施例无需通过wifi等无线网络或者其他有线网络即可实现安卓数据处理系统和外部设备之间的控制信息传输。本实施例能够应用在某些不能使用无线网络进行数据传输的应用场景,比如飞机在飞行中或者车辆行驶到信号不佳区域等,扩展了所述安卓数据处理系统和外部设备之间显示图像镜像显示所应用的应用场景。并且,本实施例所述安卓数据处理系统和外部设备之间的控制信息传输无需占用网络带宽,使用方便,操作简单,避免了控制信息传输过程中的延时。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统。所述方法包括步骤所述方法包括步骤:S1——S3。
具体地,还包括通过指令修改所述事件产生程序的SELinux context属性,令所述事件产生程序可以被安卓Shell用户身份运行。
SELinux是美国NSA推行基于角色权限管理的Linux,全称为Role-Based AccessControl(RBAC)。在Linux中需要符合传统UNIX权限的规定为,也不得违反SELinux的安全规则才会通过权限的验证。本申请在具体实现中通过chcon指令修改所述事件产生程序的SELinux context属性。本申请需要通过chcon指令改变所述事件产生程序的SELinuxcontext属性为u:object_r:system_file:s0,从而令所述事件产生程序可以被安卓Shell用户身份运行。
本申请另一实施例提供一种通过外部设备进行同步控制的方法,应用于外 部设备。参看图6,所述外部设备包括安装车机等具有外部显示器的电子设备6,其在硬件上通常包括外部显示器61、第二主控芯片63、第二存储装置62以及第二输入装置64。具体地,所述第二输入装置64为触摸屏,用户通过触摸屏输入触控指令。
参看图7,所述方法包括:
D1、接收用户输入的控制指令,并对接收的所述控制指令进行处理,转变为控制信息。
具体地,所述外部设备可以为车机等具有处理和显示功能的设备,用户可以通过触摸屏等输入模块输入控制指令给所述外部设备,即所述控制信息可以为触控信息。所述外部设备根据接收的用户输入指令进行处理后得到控制信息,并将所述控制信息通过连接通道发送给所述安卓数据处理系统。由于外部设备的输入相较于安卓数据处理系统更加便捷,所以改善了用户体验,令用户输入更加方便。
D2、将所述控制信息通过连接通道发送给安卓数据处理系统,令所述安卓数据处理系统根据所述控制信息进行相应的操作。
由于安卓调试桥ADB可以将安卓数据处理系统的TCP端口和其他与其通过USB相连的所述外部设备(比如车机)的TCP端口关联起来。比如,所述命令“adb forward tcp:100tcp:200”就是将安卓数据处理系统的TCP端口(port)200和运行安卓调试桥命令的所述外部设备(比如车机)的TCP端口(port)100关联起来,从而安卓数据处理系统只需打开套接字(Socket)TCP 200端口,所述外部设备(比如车机)只需打开套接字(Socket)TCP 100端口,双方就能通讯了。
因此,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。具体地,所述连接通道为USB线。
此外,本申请所述连接通道还可以是通过USB网络共享方式获得。
本实施例无需通过wifi等无线网络或者其他有线网络即可实现安卓数据处理系统和外部设备之间的图像数据传输。本实施例能够应用在某些不能使 用无线网络进行数据传输的应用场景,比如飞机在飞行中或者车辆行驶到信号不佳区域等,扩展了所述安卓数据处理系统和外部设备之间显示图像镜像显示所应用的应用场景。并且,本实施例所述安卓数据处理系统和外部设备之间的图像数据传输无需占用网络带宽,使用方便,操作简单,避免了图像显示过程中的延时。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请一个实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。参看图1,所述安卓数据处理系统包括安装安卓系统的手机、计算机、PAD等具有数据处理能力的电子设备1,其在硬件上通常包括内部显示器11、第一主控芯片12、第一存储装置13以及第一输入装置14。
参看图8,本申请所述通过外部设备进行同步控制的装置8,包括:
信息接收模块81,用于通过与外部设备的连接通道接收所述外部设备发送的控制信息。
信息产生模块82,用于以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
事件生成模块83,用于所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。
具体地,所述外部设备可以为车机等具有处理和显示功能的设备,用户可以通过触摸屏等输入模块输入控制指令给所述外部设备,即所述控制信息可以为触控信息。所述外部设备根据接收的用户输入指令进行处理后得到控制 信息,并将所述控制信息通过连接通道发送给所述安卓数据处理系统。由于外部设备的输入相较于安卓数据处理系统更加便捷,所以改善了用户体验,令用户输入更加方便。
安卓系统提供了input命令和sendevent命令行程序。所述input命令和sendevent命令行程序可以在安卓调试桥壳体层adb Shell环境下运行。本申请将安卓数据处理系统接收的控制信息转化为input命令和sendevent命令事件,即可成为安卓数据处理系统可以识别的事件信息。
本申请利用安卓系统提供的input命令和sendevent命令行程序,以安卓Shell用户身份运行预存的事件产生程序,而无需以root用户身份,即可将外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。
本申请安卓数据处理系统将接收的控制信息转化后的input和sendevent事件信息生成相应的控制事件,同步控制所述安卓数据处理系统进行相应的动作。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。所述装置包括:信息接收模块81、信息产生模块82以及事件生成模块83。
具体地,参看图9,所述所述事件产生程序的预存装置9包括:
第一存储模块91,用于通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间。
具体地,所述安卓数据处理系统存储空间为所述安卓数据处理系统的SD 卡。所述ADB的拷贝命令通常为adb push或者adb Shell copy等命令。
由于安卓调试桥ADB的所述Shell用户没有权限在SD卡上直接运行所述事件产生程序,需要将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。
第一空间模块92,用于编写并保存安卓JAVA程序到所述安卓数据处理系统,以获得所述安卓JAVA程序控制的目录空间。
具体的,所述安卓JAVA程序以安卓安装包apk的形式保存到所述安卓数据处理系统。这样安卓系统会为此JAVA程序建立可以运行JAVA程序并存储资料的目录空间,所述目录空间是可以被所述安卓JAVA程序控制的。
第一拷贝模块93,用于运行所述安卓JAVA程序,将存储到所述安卓数据处理系统存储空间的所述事件产生程序拷贝到所述安卓JAVA程序控制的目录空间。
第一修改模块94,用于通知所述安卓Shell用户所述目录空间的名称,并修改所述事件产生程序的文件属性为其他用户身份可运行的可执行文件。
所以,本申请将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。本申请安卓调试桥ADB的所述Shell用户就可以通过运行所述安卓JAVA程序目录下的可执行文件,从而实现在SD卡上直接运行所述事件产生程序,获得所述安卓数据处理系统中的虚拟屏幕上显示的图像。所述其他用户身份是指普通的JAVA层的JAVA程序。
在本申请具体实现中,所述以安卓Shell用户身份运行预存的事件产生程序是通过在所述安卓数据处理系统上输入的adb Shell命令来执行所述目录空间保存的事件产生程序。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设 备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。所述装置包括:信息接收模块81、信息产生模块82以及事件生成模块83。
具体地,参看图10,所述事件产生程序的预存装置10包括:
第二拷贝模块101,用于通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下。
所述事件产生程序存储到所述安卓数据处理系统的SD卡的对所述Shell用户开放写权限的目录下,比如/data/local/tmp内。所述ADB的拷贝命令通常为adb push或者adbShell copy等命令。
由于安卓调试桥ADB的所述Shell用户没有权限在SD卡上直接运行所述事件产生程序,需要将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。
第二修改模块102,用于通过安卓调试桥ADB的adb Shell命令修改所述被拷贝过来的程序的属性为s属性的可执行文件。
s属性称为SetUID,是指当一个可执行程序(文件)在运行时(进程)拥有这个文件所有者(owner)的权限。如果一个可执行程序的属性为s属性,则在执行该可执行文件的用户拥有该文件的Owner的权限。通过安卓调试桥ADB的adb Shell命令修改被拷贝过来的程序的属性为s属性后,用其他用户身份运行所述被拷贝过来的程序,依然可以取得Shell的权限。所述其他用户身份是指普通的java层的java程序,即用普通的java层的java程序运行所述被拷贝过来的程序,依然可以取得Shell的权限。
所以,本申请将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。本申请安卓调试桥ADB的所述Shell用户就可以通过运行所述安卓JAVA程序目录下的可执行文件,从而实现在SD卡上直接运行所述事件产生程序,令接收的控制信息转化成为安卓数据处理系统可识别的事件信息。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。所述装置包括:信息接收模块81、信息产生模块82以及事件生成模块83。
具体地,参看图11,所述事件产生程序的预存装置11包括:
新建模块111,用于在所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下新建目录。
在所述安卓数据处理系统的SD卡的对所述Shell用户开放写权限的目录下,比如/data/local/tmp下新建目录。
第三修改模块112,用于通过安卓调试桥ADB的拷贝命令将所述新建目录的属性设置为t属性。
所述ADB的拷贝命令通常为adb push或者adb Shell copy等命令。
t属性称为粘住位(sticky bit)。一般情况下unix对一个文件删除,是看是否拥有目录的写权限,只要拥有该目录的写权限,即可删除文件,并不考 虑是否为该文件的所有者。比如,建立一个公共可写的目录(shared direcotry),需要很多人拥有写这个目录的权限,但是这样很多人也拥有删除这个目录的权限。本申请在新建的目录位上加上t属性,这样这个目录下的文件只有文件的所有者,或是目录的所有者,或是root用户才能删除这个目录下的文件。
第三拷贝模块113,用于通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中所述t属性的新建目录下。
将所述事件产生程序存储到所述安卓数据处理系统存储空间中所述T属性的新建目录下,这样其他用户无法删除所述事件产生程序。
由于安卓调试桥ADB的所述Shell用户没有权限在SD卡上直接运行所述事件产生程序,需要将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。
第二修改模块114,用于通过安卓调试桥ADB的adb Shell命令修改所述被拷贝过来的程序的属性为s属性的可执行文件。
s属性称为SetUID,是指当一个可执行程序(文件)在运行时(进程)拥有这个文件所有者(owner)的权限。如果一个可执行程序的属性为s属性,则在执行该可执行文件的用户拥有该文件的Owner的权限。通过安卓调试桥ADB的adb Shell命令修改被拷贝过来的程序的属性为s属性后,用其他用户身份运行所述被拷贝过来的程序,依然可以取得Shell的权限。所述其他用户身份是指普通的java层的java程序,即用普通的java层的java程序运行所述被拷贝过来的程序,依然可以取得Shell的权限。
所以,本申请将所述事件产生程序放到一个可以让安卓调试桥ADB的所述Shell用户可以运行所述事件产生程序的位置,并赋予安卓调试桥ADB的所述Shell用户执行所述事件产生程序的权限。本申请安卓调试桥ADB的所述Shell用户就可以通过运行所述安卓JAVA程序目录下的可执行文件,从而实现在SD卡上直接运行所述事件产生程序,令接收的控制信息转化成为 安卓数据处理系统可识别的事件信息。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。所述装置包括:信息接收模块81、信息产生模块82以及事件生成模块83。
由于安卓调试桥ADB可以将安卓数据处理系统的TCP端口和其他与其通过USB相连的所述外部设备(比如车机)的TCP端口关联起来。比如,所述命令“adb forward tcp:100tcp:200”就是将安卓数据处理系统的TCP端口(port)200和运行安卓调试桥命令的所述外部设备(比如车机)的TCP端口(port)100关联起来,从而安卓数据处理系统只需打开套接字(Socket)TCP 200端口,所述外部设备(比如车机)只需打开套接字(Socket)TCP 100端口,双方就能通讯了。
因此,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。具体地,所述连接通道为USB线。
本实施例无需通过wifi等无线网络或者其他有线网络即可实现安卓数据处理系统和外部设备之间的控制信息传输。本实施例能够应用在某些不能使用无线网络进行数据传输的应用场景,比如飞机在飞行中或者车辆行驶到信号不佳区域等,扩展了所述安卓数据处理系统和外部设备之间显示图像镜像显示所应用的应用场景。并且,本实施例所述安卓数据处理系统和外部设备之间的控制信息传输无需占用网络带宽,使用方便,操作简单,避免了控制信息传输过程中的延时。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。所述装置包括:信息接收模块81、信息产生模块82以及事件生成模块83。
具体地,所述连接通道是通过USB网络共享方式获得。
本实施例无需通过wifi等无线网络或者其他有线网络即可实现安卓数据处理系统和外部设备之间的控制信息传输。本实施例能够应用在某些不能使用无线网络进行数据传输的应用场景,比如飞机在飞行中或者车辆行驶到信号不佳区域等,扩展了所述安卓数据处理系统和外部设备之间显示图像镜像显示所应用的应用场景。并且,本实施例所述安卓数据处理系统和外部设备之间的控制信息传输无需占用网络带宽,使用方便,操作简单,避免了控制信息传输过程中的延时。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统。所述装置包括:信息接收模块81、信息产生模块82以及 事件生成模块83。
具体地,还包括通过指令修改所述事件产生程序的SELinux context属性,令所述事件产生程序可以被安卓Shell用户身份运行。
SELinux是美国NSA推行基于角色权限管理的Linux,全称为Role-Based AccessControl(RBAC)。在Linux中需要符合传统UNIX权限的规定为,也不得违反SELinux的安全规则才会通过权限的验证。本申请在具体实现中通过chcon指令修改所述事件产生程序的SELinux context属性。本申请需要通过chcon指令改变所述事件产生程序的SELinuxcontext属性为u:object_r:system_file:s0,从而令所述事件产生程序可以被安卓Shell用户身份运行。
本申请另一实施例提供一种通过外部设备进行同步控制的装置,应用于外部设备。参看图6,所述外部显示设备包括安装车机等具有外部显示器的电子设备6,其在硬件上通常包括外部显示器61、第二主控芯片63、第二存储装置62以及第二输入装置64。
参看图12,所述装置包括:
信息产生模块121,用于接收用户输入的控制指令,并对接收的所述控制指令进行处理,转变为控制信息。
具体地,所述外部设备可以为车机等具有处理和显示功能的设备,用户可以通过触摸屏等输入模块输入控制指令给所述外部设备,即所述控制信息可以为触控信息。所述外部设备根据接收的用户输入指令进行处理后得到控制信息,并将所述控制信息通过连接通道发送给所述安卓数据处理系统。由于外部设备的输入相较于安卓数据处理系统更加便捷,所以改善了用户体验,令用户输入更加方便。
信息发送模块122,用于将所述控制信息通过连接通道发送给安卓数据处理系统,令所述安卓数据处理系统根据所述控制信息进行相应的操作。
由于安卓调试桥ADB可以将安卓数据处理系统的TCP端口和其他与其 通过USB相连的所述外部设备(比如车机)的TCP端口关联起来。比如,所述命令“adb forward tcp:100tcp:200”就是将安卓数据处理系统的TCP端口(port)200和运行安卓调试桥命令的所述外部设备(比如车机)的TCP端口(port)100关联起来,从而安卓数据处理系统只需打开套接字(Socket)TCP 200端口,所述外部设备(比如车机)只需打开套接字(Socket)TCP 100端口,双方就能通讯了。
因此,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。具体地,所述连接通道为USB线。
此外,本申请所述连接通道还可以是通过USB网络共享方式获得。
本实施例无需通过wifi等无线网络或者其他有线网络即可实现安卓数据处理系统和外部设备之间的图像数据传输。本实施例能够应用在某些不能使用无线网络进行数据传输的应用场景,比如飞机在飞行中或者车辆行驶到信号不佳区域等,扩展了所述安卓数据处理系统和外部设备之间显示图像镜像显示所应用的应用场景。并且,本实施例所述安卓数据处理系统和外部设备之间的图像数据传输无需占用网络带宽,使用方便,操作简单,避免了图像显示过程中的延时。
本实施例通过与外部设备的连接通道接收所述外部设备发送的控制信息。并且,以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息。所述安卓数据处理系统识别所述事件信息,生成相应的控制事件。从而,实现无需获得现有的数据处理系统的root权限即可实现利用外部设备对安卓数据处理系统进行同步控制,且无需对现有的安卓数据处理系统进行较大的改动。
下面通过两个具体的应用场景进一步说明本申请实现。
参见图13,本申请一应用场景13,所述安卓数据处理系统为手机131,所述外部设备为车机132。所述手机131通过与车机132的连接通道接收所述车机132发送的控制信息。所述手机131以安卓Shell用户身份运行预存 的事件产生程序,将接收的所述车机132发送的控制信息转化为手机131可以识别的事件信息。所述手机131识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。在本应用场景下,用户可以通过所述车机132发送控制信息,从而控制所述手机131进行动作。并且,所述手机131无需获得安卓系统的root权限,无需对所述手机131的安卓数据处理系统进行较大的改动,所述手机131仍能够享受手机厂家的保修服务。
参见图14,本申请另一应用场景14,所述安卓数据处理系统为车机141,所述外部设备为手机142。所述车机141通过与手机142的连接通道接收所述手机142发送的控制信息。所述车机141以安卓Shell用户身份运行预存的事件产生程序,将接收的所述手机142发送的控制信息转化为车机141可以识别的事件信息。所述车机141识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作。在本应用场景下,用户可以通过所述手机142发送控制信息,从而控制所述车机141进行动作。并且,所述车机141无需获得安卓系统的root权限,无需对所述车机141的安卓数据处理系统进行较大的改动,所述车机141仍能够享受手机厂家的保修服务。
本申请的实施例所提供的装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的单元以及模块划分方式仅是众多划分方式中的一种,如果划分为其他单元或模块或不划分块,只要信息对象的具有上述功能,都应该在本申请的保护范围之内。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种通过外部设备进行同步控制的方法,应用于安卓数据处理系统,其特征在于,包括:
通过与外部设备的连接通道接收所述外部设备发送的控制信息;
以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息;
所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作;
所述事件产生程序通过安卓调试桥ADB的拷贝命令被存储到所述安卓数据处理系统存储空间,安卓调试桥ADB的所述Shell用户被赋予执行所述事件产生程序的权限。
2.根据权利要求1所述的方法,其特征在于,所述控制事件为触控事件。
3.根据权利要求1或2所述的方法,其特征在于,所述事件信息为input或sendevent事件信息。
4.根据权利要求1所述的方法,其特征在于,所述事件产生程序的预存包括:
通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间;
编写并保存安卓JAVA程序到所述安卓数据处理系统,以获得所述安卓JAVA程序控制的目录空间;
运行所述安卓JAVA程序,将存储到所述安卓数据处理系统存储空间的所述事件产生程序拷贝到所述安卓JAVA程序控制的目录空间;
通知所述安卓Shell用户所述目录空间的名称,并修改所述事件产生程序的文件属性为其他用户身份可运行的可执行文件。
5.根据权利要求4所述的方法,其特征在于,所述安卓JAVA程序以安卓安装包apk的形式保存到所述安卓数据处理系统。
6.根据权利要求5所述的方法,其特征在于,所述以安卓Shell用户身份运行预存的事件产生程序是通过在所述安卓数据处理系统上输入的adb Shell命令来执行所述目录空间保存的事件产生程序。
7.根据权利要求1所述的方法,其特征在于,所述事件产生程序的预存包括:
通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下;
通过安卓调试桥ADB的adb Shell命令修改被拷贝过来的程序的属性为S属性的可执行文件。
8.根据权利要求1所述的方法,其特征在于,所述事件产生程序的预存包括:
在所述安卓数据处理系统存储空间中对所述Shell用户开放写权限的目录下新建目录;
通过安卓调试桥ADB的拷贝命令将所述新建目录的属性设置为T属性;
通过安卓调试桥ADB的拷贝命令将所述事件产生程序存储到所述安卓数据处理系统存储空间中所述T属性的新建目录下;
通过安卓调试桥ADB的拷贝命令修改被拷贝过来的程序的属性为S属性的可执行文件。
9.根据权利要求7或8所述的方法,其特征在于,所述以安卓Shell用户身份运行预存的事件产生程序是通过安卓安装包apk的程序调用所述事件产生程序。
10.根据权利要求1所述的方法,其特征在于,所述连接通道是通过所述安卓数据处理系统的TCP端口和所述外部设备的TCP端口关联起来获得。
11.根据权利要求10所述的方法,其特征在于,所述连接通道为USB线。
12.根据权利要求1所述的方法,其特征在于,所述连接通道是通过USB网络共享方式获得。
13.根据权利要求1所述的方法,其特征在于,还包括通过指令修改所述事件产生程序的SELinux context属性,令所述事件产生程序可以被安卓Shell用户身份运行。
14.根据权利要求1所述的方法,其特征在于,所述控制信息为触控信息。
15.一种通过外部设备进行同步控制的装置,应用于安卓数据处理系统,其特征在于,包括:
信息接收模块,用于通过与外部设备的连接通道接收所述外部设备发送的控制信息;
信息产生模块,用于以安卓Shell用户身份运行预存的事件产生程序,将接收的所述外部设备发送的控制信息转化为安卓数据处理系统可以识别的事件信息;
事件生成模块,用于所述安卓数据处理系统识别所述事件信息,生成相应的控制事件,并根据所述控制事件进行相应的操作;
所述事件产生程序通过安卓调试桥ADB的拷贝命令被存储到所述安卓数据处理系统存储空间,安卓调试桥ADB的所述Shell用户被赋予执行所述事件产生程序的权限。
CN201410638616.1A 2014-11-06 2014-11-06 一种通过外部设备进行同步控制的方法及其装置 Active CN104391695B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410638616.1A CN104391695B (zh) 2014-11-06 2014-11-06 一种通过外部设备进行同步控制的方法及其装置
US15/102,278 US20180107493A1 (en) 2014-11-06 2015-11-06 Synchronous control method and device via external apparatus
PCT/CN2015/094039 WO2016070847A1 (zh) 2014-11-06 2015-11-06 一种通过外部设备进行同步控制的方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410638616.1A CN104391695B (zh) 2014-11-06 2014-11-06 一种通过外部设备进行同步控制的方法及其装置

Publications (2)

Publication Number Publication Date
CN104391695A CN104391695A (zh) 2015-03-04
CN104391695B true CN104391695B (zh) 2017-11-24

Family

ID=52609603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410638616.1A Active CN104391695B (zh) 2014-11-06 2014-11-06 一种通过外部设备进行同步控制的方法及其装置

Country Status (3)

Country Link
US (1) US20180107493A1 (zh)
CN (1) CN104391695B (zh)
WO (1) WO2016070847A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391695B (zh) * 2014-11-06 2017-11-24 北京凌阳益辉科技有限公司 一种通过外部设备进行同步控制的方法及其装置
CN105072158A (zh) * 2015-07-15 2015-11-18 深圳市智鸿联科技有限公司 一种通过wifi对移动终端进行回控的方法及装置
US20180063318A1 (en) * 2016-08-23 2018-03-01 Santhosh Muralidharan Automobile safety system for a drivers mobile device
CN106557572A (zh) * 2016-11-11 2017-04-05 武汉斗鱼网络科技有限公司 一种安卓应用程序文件的提取方法及系统
CN107256188B (zh) * 2017-06-30 2021-05-28 百度在线网络技术(北京)有限公司 安卓设备的控制方法、装置、终端及存储介质
CN108536491B (zh) * 2018-02-07 2021-11-05 武汉光庭信息技术股份有限公司 一种车载设备反向控制安卓移动终端的处理方法及系统
CN111107089B (zh) * 2019-12-23 2022-03-11 成都三零瑞通移动通信有限公司 一种保护Android系统数据传输安全的方法及装置
CN111901471B (zh) * 2020-07-06 2022-06-17 珠海世纪鼎利科技股份有限公司 针对非root安卓手机的路测系统及方法
CN114584815A (zh) * 2020-11-30 2022-06-03 上海新微技术研发中心有限公司 一种可回控投屏方法、计算机可读存储介质和装置
CN113189920A (zh) * 2021-05-28 2021-07-30 重庆长安汽车股份有限公司 一种基于Android的车载娱乐信息系统远程控制方法
CN113515250A (zh) * 2021-06-10 2021-10-19 澳柯玛股份有限公司 一种冰箱大屏与安卓的无线传屏系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581794A (zh) * 2003-08-05 2005-02-16 华为技术有限公司 一种通讯设备远程控制的方法和系统
CN102521118A (zh) * 2011-11-11 2012-06-27 福建星网视易信息系统有限公司 一种Android程序的自动测试方法
CN103002155A (zh) * 2012-12-13 2013-03-27 江苏诚迈科技有限公司 一种利用车载终端进行Android手机部署的方法
CN103902358A (zh) * 2014-03-18 2014-07-02 北京领通科技有限公司 移动终端的远程调试方法、系统及移动终端

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882348B1 (ko) * 2006-12-07 2009-02-13 한국전자통신연구원 보안 운영 체제를 위한 보안 정책 설정 방법 및 장치
CN101409731A (zh) * 2008-10-09 2009-04-15 上海第二工业大学 通过ie远程对家庭电器设备控制的方法
US9473555B2 (en) * 2012-12-31 2016-10-18 The Nielsen Company (Us), Llc Apparatus, system and methods for portable device tracking using temporary privileged access
US8972624B2 (en) * 2011-04-11 2015-03-03 Ineda Systems Pvt. Ltd. USB virtualization
US9047107B2 (en) * 2012-02-29 2015-06-02 Red Hat, Inc. Applying a custom security type label to multi-tenant applications of a node in a platform-as-a-service environment
US8819698B2 (en) * 2012-04-02 2014-08-26 Hewlett-Packard Development Company, L. P. Cross-platform web-based native device feature access
US20150370680A1 (en) * 2014-06-20 2015-12-24 Halo-Digi Technology Co., Ltd. Method for transmitting human input event and electrical device
CN104391695B (zh) * 2014-11-06 2017-11-24 北京凌阳益辉科技有限公司 一种通过外部设备进行同步控制的方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581794A (zh) * 2003-08-05 2005-02-16 华为技术有限公司 一种通讯设备远程控制的方法和系统
CN102521118A (zh) * 2011-11-11 2012-06-27 福建星网视易信息系统有限公司 一种Android程序的自动测试方法
CN103002155A (zh) * 2012-12-13 2013-03-27 江苏诚迈科技有限公司 一种利用车载终端进行Android手机部署的方法
CN103902358A (zh) * 2014-03-18 2014-07-02 北京领通科技有限公司 移动终端的远程调试方法、系统及移动终端

Also Published As

Publication number Publication date
WO2016070847A1 (zh) 2016-05-12
CN104391695A (zh) 2015-03-04
US20180107493A1 (en) 2018-04-19

Similar Documents

Publication Publication Date Title
CN104391695B (zh) 一种通过外部设备进行同步控制的方法及其装置
CN104407829B (zh) 一种图像镜像显示方法及其装置
JP4578119B2 (ja) 情報処理装置および情報処理装置におけるセキュリティ確保方法
CN112765245A (zh) 一种电子政务大数据处理平台
US9110963B2 (en) Transparent adaptive file transform
US20220383717A1 (en) Asset Management Techniques
CN106406986A (zh) 一种资源共享方法及装置
CN103345482A (zh) 一种网络存储系统及其文件访问冲突处理方法
CN104268484A (zh) 一种基于虚拟隔离机制的云环境下数据防泄漏方法
CN106716968A (zh) 账户管理方法、装置及账户管理系统
CN111651770B (zh) 一种基于云计算的安全仿真计算系统及存储介质
WO2015034176A1 (ko) 문서 통합 관리 시스템
WO2023005862A1 (zh) 数据治理装置、方法、计算机设备及存储介质
CN114239015B (zh) 数据的安全管理方法、装置、数据云平台以及存储介质
CN108319867A (zh) 基于hook和窗口过滤的双重文件防泄密方法及系统
CN113918999A (zh) 安全摆渡通道的建立方法、装置、网盘及存储介质
CN104123371B (zh) 基于分层文件系统的Windows内核文件透明过滤的方法
CN106294209B (zh) 一种信息处理方法及电子设备
US8498622B2 (en) Data processing system with synchronization policy
CN105912930A (zh) 移动终端及其系统资源安全控制方法
CN103425936B (zh) 一种实现数据保密的方法及电子设备
US20140298325A1 (en) Secure and reliable mechanism to provide a single object instance in a clustered system
JP5471168B2 (ja) データ同期システム、データ同期装置、データ同期方法及びデータ同期用プログラム
CN104966025B (zh) 数据隔离存储方法和系统
JP6750347B2 (ja) 文書閲覧制御装置、文書閲覧制御システム及びプログラム

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240115

Address after: No.1, 1st Floor, Building 3, No. 117 and 153 Tianfu Fourth Street, High tech Zone, Chengdu City, Sichuan Province

Patentee after: Lingyang Chengxin Technology (Chengdu) Co.,Ltd.

Address before: Building 1, 3rd Street, Shangdi Information Industry Base, Haidian District, Beijing, 100085 (Section A, 6th Floor) A601

Patentee before: BEIJING SUNPLUS-EHUE TECH Co.,Ltd.

Patentee before: Sunplus Technology Co.,Ltd.