CN104570967B - 基于Android系统的远程控制方法及系统 - Google Patents
基于Android系统的远程控制方法及系统 Download PDFInfo
- Publication number
- CN104570967B CN104570967B CN201310487955.XA CN201310487955A CN104570967B CN 104570967 B CN104570967 B CN 104570967B CN 201310487955 A CN201310487955 A CN 201310487955A CN 104570967 B CN104570967 B CN 104570967B
- Authority
- CN
- China
- Prior art keywords
- android
- control
- control ends
- controlled terminals
- controlled
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25167—Receive commands through mobile telephone
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
提供了一种基于Android系统的远程控制方法和系统。该方法包括:在Android被控端中建立socket接口以监听Android控制端的请求;响应于监听到Android控制端的连接请求时,Android被控端确定出与Android控制端已经建立连接;以及Android被控端监听到Android控制端发送的控制请求时,根据预设的配置向该Android控制端发送数据包以指示能够控制Android被控端的操作。通过本申请提供的方法和系统,能够在Android平台上实现对移动设备的远程控制。
Description
技术领域
本申请涉及基于Android系统的远程控制方法及系统。
背景技术
远程控制一般是指通过网络控制远端电脑。早期的远程控制通常在局域网中进行,但是,随着越来越多的移动终端设备具备了无线上网功能,对移动终端设备之间的远程控制带来了巨大挑战。
目前,移动终端设备之间的无线控制传播的距离较短,不能较好地实现不同地域位置的无线控制。而且,现有的远程控制方法均不能很好地运用在Android系统上。
发明内容
本发明提供了一种至少能够部分改善上述现有技术中的缺陷的远程控制方法及系统。
根据本申请的一方面,提供了一种基于Android系统的远程控制方法,其包括:在Android被控端中建立socket接口以监听Android控制端的请求;响应于监听到Android控制端的连接请求时,Android被控端确定出与Android控制端已经建立连接;以及Android被控端监听到Android控制端发送的控制请求时,根据预设的配置向该Android控制端发送数据包,以指示能够控制Android被控端的操作。
根据本申请的另一方面,提供了一种基于Android系统的远程控制系统,包括Android控制端和Android被控端,其中,Android被控端包括监听模块、响应模块和判断模块,其中监听模块用于监听Android控制端发送的包括连接请求和控制请求的请求;响应模块响应于监听到连接请求时,确定出与Android控制端已经建立连接;以及在响应模块确定出与Android控制端建立连接的情况下,当监听模块监听到控制请求时,判断模块根据预设的配置判断是否允许被Android控制端控制,以及向Android控制端发送数据包以指示能够控制Android被控端的操作。
如上所述,通过本申请提供的方法和系统,能够在Android平台上实现移动设备的远程控制。
附图说明
图1为根据本申请的示例性实施方式的基于Android系统的远程控制系统的示意图;
图2为根据本申请的示例性实施方式的基于Android系统的远程控制方法的流程图;
图3为根据本申请的示例性实施方式的基于Android系统的远程控制方法的流程图;以及
图4为根据本申请的示例性实施方式的Android被控端的示意性框图。
具体实施方式
为了更好地理解本申请,将参考附图对本申请的各个方面做出更详细的说明。可以理解,所述附图和详细说明只是对本申请优选实施方案的描述,而非以任何方式限制本申请的范围。
图1示出了根据本申请示例性实施方式的基于Android系统的远程控制系统1000。参见图1,该系统至少可包括一个Android设备(在本文中称为Android控制端,或简称为控制端)100和另一个Android设备(在本文中称为Android被控端,或简称为被控端)300。系统1000中的控制端100和被控端300例如可通过无线局域网WIFI连接。控制端100和被控端300可以是任意一种Android移动设备,例如个人电脑、平板电脑或手机等。在一个实施方式中,控制端100可以是用户手机,而被控端300可以是用户家中的Android电视机、Android洗衣机等。在另一个实施方式中,控制端100和被控端300可以分别为老师和学生的Android电脑。尽管图1仅示出了一个控制端和一个被控端,但是本领域技术人员可以理解,该系统中可存在多个控制端和多个被控端。
下面参照图2和图3具体描述根据本申请的实施方式的基于Android系统的远程控制方法。
如图2所示,当控制端100与被控端300通过无线网络连接时,在步骤S110中,在被控端300中建立socket接口以监听控制端100的请求,例如连接请求、控制请求等。在步骤S120中,响应于监听到控制端100的连接请求时,被控端300确定出与控制端100已经建立连接。在步骤S130中,当被控端300接收到控制端100发送的控制请求时,根据预设的配置向该控制端100发送数据包,以指示能够控制被控端300的操作。
这里,预设的配置例如指预先确定好的、控制端100与被控端300之间通信的接口定义。在一个实施方式中,根据控制端100发来的不同请求,被控端300可按照接口定义给予相应的反馈并发送相应的回馈数据,用以标识控制端100请求被处理的结果。
根据该方法,作为Android控制端的用户能够对与其以无线网络连接的Android被控端的设备进行远程控制。
参见图3,根据一种实施方式,当被控端300与控制端100已经建立连接后,在步骤S210中,被控端300可在其内存储与控制端100关联的各种信息。在一个实施方式中,在被控端300与控制端100已建立连接后,被控端300可存储控制端100的IP地址和socket文件描述符。在另一个实施方式中,控制端100也可存储与被控端300关联的各种信息。接下来,在步骤S220中,被控端300根据预设的配置判断是否允许被控制端100控制。
这里,在一个实施方式中,预设的配置中例如包含设备属性表,每条记录包含有设备ID、设备描述信息以及设备控制权限信息。被控端300可通过设备ID查找相应的设备信息记录,并根据查找到的设备信息中的设备控制权限信息判断该控制端是否具有对其的控制权限。同时,凡未被设备属性表包含的设备都不具备控制权限。
一方面,如果被控端300允许被控制端100控制(即,图3中的“是”),被控端300可向控制端100例如发送DATATYPE_CONTROL_ACK_ALLOW包以指示允许其控制;在步骤S230中,被控端300将设备初始化,例如将uinput设备初始化,以使控制端发来的控制请求将通过uinput向系统注入输入事件,从而完成控制。被控端300可将初始化后的uinput_device的文件描述符包含在所发送的DATATYPE_CONTROL_ACK_ALLOW数据包中以供后续发送各种EVENT时使用。
在另一个实施方式中,在控制端100与被控端300之间已建立控制的情况下,控制端100可向被控端300例如发送DATATYPE_KEY_KEYEVENT包。被控端300接收到该信息后,针对包的类型作不同的处理。
另一方面,如果被控端300不允许被控制端100控制(即,图3中的“否”),被控端300可向控制端100例如发送DATATYPE_CONTROL_ACK_DISALLOW包以指示不允许其控制;在步骤S240中,被控端300将所存储的控制端100的相关信息清除。在一个实施方式中,当控制端100接收到DATATYPE_CONTROL_ACK_DISALLOW包后,可向被控端300例如发送DATATYPE_CONTROL_DISCONNECT包。当被控端300接收到该数据包后,再将所存储的控制端100的相应信息,例如可将为控制端100所分配的资源清空。
在另一个实施方式中,在被控端300根据预设的配置确定出与控制端100已建立连接的被控端的数量达到连接阈值的情况下,被控端300也可清除所存储的控制端100的相关信息。例如,在控制端100和被控端300分别为老师和学生的Android电脑的情况下,可先设定老师的连接阈值,例如设定为10。接下来,当与老师已建立连接的学生的数量超过10时,第11个学生就将与老师关联的信息清除。
以上参照图2和图3描述了根据本申请的实施方式的基于Android系统的远程控制方法。
下面对远程控制系统1000中的控制端100和被控端300各自的配置进行进一步的描述。为了清楚起见,仅在图4中示出了根据本申请的示例性实施方式的Android被控端300的示意性配置。
控制端100可包括发送模块(未示出)。控制端100中的发送模块可向被控端300发送多种请求,包括连接请求、控制请求等。在一个实施方式中,发送模块可向被控端300发送DATATYPE_CONTROL_REQUEST包以请求连接。
参见图4,被控端300可包括监听模块301、响应模块303以及判断模块305。
被控端300中的监听模块301可监听控制端100中的发送模块所发送的请求。响应模块303可响应于监听到的连接请求,确定出与控制端100已经建立连接。在响应模块303确定出与控制端100建立连接的情况下,当监听模块301监听到发送模块102所发送的控制请求时,判断模块305可根据预设的配置向控制端100发送数据包以指示能够控制被控端300的操作。在一个实施方式中,判断模块305还可根据预设的配置判断是否允许被控制端100控制。
在一个实施方式中,被控端300还可包括初始化模块307。在判断模块305根据预设的配置确定允许被控制端100控制时,初始化模块307可进行初始化并将被初始化的设备文件描述符存储在所发送的数据包中。
在另一实施方式中,判断模块305还可根据预设的配置判断与控制端100已建立连接的被控端300的数量是否达到连接阈值。如果达到了连接阈值,被控端300中的清除模块(未示出)可清除所存储的控制端100的相关信息。
通过本申请的远程控制系统,控制端100能够对与其无线连接的被控端300进行远程控制,从而进行各种操作。
下面通过具体的实施例对根据本申请的远程控制方法和系统进行详细描述。在该实施例中,控制端100和被控端300为任意一种Android设备,二者之间的远程控制在UDP通信协议的Socket广播下实现。应该理解,本申请不限于所描述的实施例,还可以以各种其它方式实现。
下面将首先描述被控端300和控制端100的环境配置。
对于被控端300,建立使用TCP/UDP所提供的Socket接口,以便通过其实现Serverd守护进程。被控端在接收数据时,针对不同类型的数据选用不同类型的Socket进行传输。例如,对于控制信息和按键信息使用TCP进行传输,而对于其他事件使用UDP进行传输。这里,由于要处理多个描述字读写的问题,所以采用的是I/O复用模型。应该注意,虽然控制端和被控端通过应用层协议进行通信,但是实际的控制端和被控端之间的信息流是:在一端沿着协议栈往下传输,穿过网络,在另一端又沿着协议栈往上传输。
Serverd守护进程可在被控端初始化时启动,其可监听控制端100发送的连接请求、控制要求,也可与控制端进行数据传输。其处于Native层,可用C/C++开发。
作为一个实施例,可通过以下方式实现对Serverd的编译。在Linux内核启动后,用户空间中的第一个进程init启动,完成了一系列的初始化工作,包括解析名为init.rc和initxxx.rc的文件。按格式修改init.rc文件,在其中加入serverd的配置信息,使得系统在启动过程中启动Serverd。同时,可通过修改init.rc中来申请所需的socket资源。
将ramdisk.img解压,并将以下内容加到文件末尾,
Service serverd /system/serverd
Soeket serverd strearn666
oneshot
然后将ramdisk.img重新压缩,生成新的ramdiskNew.img。
在Android源码根目录下建立新的目录vendor,并在vendor目录下建立Android.mk和serverd.cpp文件。Android.mk是serverd的makefile文件,serverd.cpp是守护进程主程序的实现。Serverd的Androd.mk写法如下:
LOCAL_PATH:=$(call my-dir)
Include$(CLEAR_VARS)
LOCAL_MODULE:=serverd
LOCAL_SRC_FILES:=serverd.cpp
LOCAL_SHARED_LIBRARIES:=libcutils
Include$(BUILD_EXECUTABLE)
在serverd.cpp开发完毕后,通过以下命令进行编译。
Source~/Android/build/envsetup.sh
mm serverd
由此可完成对被控端的serverd模块的编译。
对于控制端100,建立包含核心类WirelessController的clientLib库,通过该核心类向被控端300发送多种请求、或控制信息。该核心类被设计成单例模式。这里,控制端的Client.apk处于Android的App层,而clientlib.jar模块处于Framework层,均可使用JAVA语言开发。
控制端可提供的接口包括:
Public static WirelessController getlnstanee()
Public void startConneetion(InetAddress address,ConnectHandlerhandler)
Public void diseonnect(ConneetHandler handler)
Public void sendKeyEvent(KeyEvent event)
Public void sendMouseEvent(MouseEvent event)
Public void sendMotionEvent(MotionEvent event)
通过getInstance()返回一个WirelessController实例,可调用startConnection函数来向被控端300发送连接请求。在连接成功后,控制端100可调用任意send函数向被控端300发送控制信息。例如,以sendKeyEvent(KeyEvent event)为例,可建立一个KeyEvent传给函数,或者捕获键盘事件。在完成控制之后,可调用disconnect(ConnectHandlerhandler)来断开连接。
接下来,具体描述控制端100与被控端300之间的工作流程。
首先,控制端100通过函数ConnectToServerd()调用new socket(address,WirelessController.serverd_port)。这个java层次的sockct()函数会在语言层次上调用C语言的socket()和connect()函数,从而向被控端发送连接请求。
执行以下两个函数:
DataReader(Socket sock),DataWriter(Socket sock)
如果连接成功,则建立连接Socket,将Socket赋给以上两个类,使得socket读、写器初始化。调用函数sendControlRequest(),以使控制端100向被控端300发送连接请求DATATYPE_CONTROL_REQUEST包,并阻塞等待被控端的回应。
被控端300将tcpsock和udpsock初始化,并为每个socket设置pollfd和data_package。mpollfds是一个指向pollfd的数组指针,而这个数组中存储着各个初始化好后的pollfd。data_package是自定义的结构体,存储控制端所发送的各种数据包信息。mpackages是一个指向data_package的数组指针,这个数组中存储着各个socket相关的data_packet。
接下来,被控端300轮询是否有socket可读,
int poll(struct Pollfd*fds,nfds_t nfds,int timeout)。
当监听到文件描述符(fd)有数据需要读取时,判断是否有新的连接请求。例如,如果判断是tcpsock,则说明有新的连接请求。此时,为新的连接在mpollfds和mpaekages中设置增加的pollfd和data_paekage。
接下来,当被控端300接收到DATATYPE_CONTROL_REQUEST包之后,确定与控制端100已经建立连接。然后,被控端300可调用conn_add(unsigned int ipaddr,socket fd),将发送连接请求的控制端100的IP地址和socket fd注册到静态全局变量sconnections里。这里,sconnections中存储了与被控端300建立了连接的全部控制端的信息,是connectiont类型的数组。该数组的个数是允许建立连接的最多的控制端的个数。Connection_t结构例如如下所示:
Typedef struct connection{
unsigned int ipaddr:
int fd_sock;
int mobile_id:
int fd_key;
int fd_tP;
int fd_mouse;
}connection_t;
然后,进入下一次轮询,监听控制端100的控制请求。
当被控端300监听到控制端100发送的控制请求时,根据预设的配置判断是否允许被控制端100控制。控制端100读取被控端300的ACK包,并根据包的类型进行不同的处理。例如,当确定允许被控制端100控制时,被控端可向控制端发送DATATYPE_CONTROL_ACK_ALLOW包以指示允许控制。控制端可调用setcontrolfds()设置以后将使用的key_fd,mouse_fd以及TouchPanel_fd。此时,被控端为远端设备初始化uinput_device,并在DATATYPE_CONTROL_ACK_ALLOW包中包含为客户端初始化了的uinput_device的文件描述符(fd)而发送至控制端,以供后续发送各种EVENT时使用。
当确定不允许被控制端100控制时,被控端300可向控制端100发送DATATYPE_CONTROL_ACK_DISALLOW包以指示不允许控制。被控端300调用cleanup()以清除之前所建立的对象。无论是什么类型的包,都可调用ConectHandler的相关方法,来显示控制建立的状态。
在完成控制后,控制端发送DATATYPE_CONTROL_DISCONNECT类型的包以断开连接。在被控端300收到此数据包后,就释放在初始化时为该socket所分配的资源,包括之前为该socket创建的uinput设备,以及在mpollfds和mpackages中所分配的空间。例如,可使用下式来清除之前所创建的uinput设备:
ret=ioctl(fd,UI_DEV_DESTROY)。
在被控端300根据预设的配置确定出与控制端100已经建立连接的被控端的数量达到连接阈值时,被控端300可向控制端100发送DATATYPE_CONTROL_REACH_MAX数据包,并将所存储的控制端的相关信息清除,然后退出。例如,控制端可向被控端发送DATATYPE_CONTROL_DISCONNECT数据包。当被控端收到该数据包后,就清空之前为控制端所分配的资源。
以上所述仅为一些具体的实施方式,并非用来限制本发明的专利范围,凡是利用本申请说明书及附图内容所作的等效变换,或直接或间接运用在其他相关的技术领域的等同技术特征对本申请文件公开的技术方案进行的修改,均包括在本发明的保护范围内。
Claims (10)
1.一种基于Android系统的远程控制方法,包括:
在Android被控端中建立socket接口以监听Android控制端的请求;
响应于监听到所述Android控制端的连接请求时,所述Android被控端确定出与所述Android控制端已经建立连接;以及
所述Android被控端监听到所述Android控制端发送的控制请求时,根据预设的配置向该Android控制端发送数据包,以指示能够控制所述Android被控端的操作。
2.根据权利要求1所述的方法,其中,当所述Android被控端与所述Android控制端建立连接后,所述方法还包括:
所述Android被控端存储所述Android控制端的相关信息。
3.根据权利要求2所述的方法,其中,根据预设的配置向该Android控制端发送数据包的步骤还包括:
所述Android被控端根据预设的配置判断是否允许被所述Android控制端控制。
4.根据权利要求3所述的方法,其中,当所述Android被控端根据预设的配置确定允许被所述Android控制端控制时,所述方法还包括:
所述Android被控端进行初始化并将初始化的设备文件描述符包含在所发送的数据包中。
5.根据权利要求3所述的方法,其中,当所述Android被控端根据预设的配置确定不允许被所述Android控制端控制时,所述方法还包括:
所述Android被控端将所存储的Android控制端的相关信息清除。
6.根据权利要求3所述的方法,在所述Android被控端根据预设的配置确定出与所述Android控制端已建立连接的Android被控端的数量达到连接阈值的情况下,所述方法还包括:
所述Android被控端将所存储的Android控制端的相关信息清除。
7.根据权利要求2所述的方法,其中,所述Android被控端存储的所述Android控制端的相关信息包括所述Android控制端的IP地址和socket文件描述符。
8.一种基于Android系统的远程控制系统,包括Android控制端和Android被控端,其中,
所述Android被控端包括:
监听模块,用于监听所述Android控制端发送的包括连接请求和控制请求的请求;
响应模块,响应于监听到所述连接请求时,确定出与所述Android控制端已经建立连接;以及
判断模块,在所述响应模块确定出与所述Android控制端建立连接的情况下,当所述监听模块监听到所述控制请求时,所述判断模块根据预设的配置向所述Android控制端发送数据包以指示能够控制所述Android被控端的操作。
9.如权利要求8所述的系统,其中,所述Android被控端还包括:
初始化模块,用于在所述判断模块根据预设的配置确定允许被所述Android控制端控制时,对设备进行初始化并将被初始化的设备文件描述符存储在所发送的数据包中。
10.如权利要求8所述的系统,其中,所述判断模块还根据预设的配置判断与所述Android控制端已建立连接的Android被控端的数量是否达到连接阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310487955.XA CN104570967B (zh) | 2013-10-17 | 2013-10-17 | 基于Android系统的远程控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310487955.XA CN104570967B (zh) | 2013-10-17 | 2013-10-17 | 基于Android系统的远程控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104570967A CN104570967A (zh) | 2015-04-29 |
CN104570967B true CN104570967B (zh) | 2017-06-20 |
Family
ID=53087303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310487955.XA Expired - Fee Related CN104570967B (zh) | 2013-10-17 | 2013-10-17 | 基于Android系统的远程控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104570967B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554564A (zh) * | 2015-12-17 | 2016-05-04 | Tcl集团股份有限公司 | 一种网格ui控制交互方法及系统 |
CN106853638A (zh) * | 2016-12-30 | 2017-06-16 | 深圳大学 | 一种基于增强现实的人体生物信号远程控制系统及方法 |
CN108600302B (zh) * | 2018-03-13 | 2021-08-24 | 青岛海尔科技有限公司 | 物联设备的控制方法、装置和可读存储介质及计算机设备 |
CN109104588B (zh) * | 2018-07-24 | 2020-01-14 | 房梦琦 | 一种视频监控方法、设备、终端及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213582A (zh) * | 2005-06-29 | 2008-07-02 | 西姆毕恩软件有限公司 | 遥控框架 |
CN102902618A (zh) * | 2011-07-28 | 2013-01-30 | 华为技术有限公司 | 移动设备应用程序开发调试的方法及装置 |
CN103605529A (zh) * | 2013-05-17 | 2014-02-26 | 华为终端有限公司 | 应用程序的处理方法和装置 |
-
2013
- 2013-10-17 CN CN201310487955.XA patent/CN104570967B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213582A (zh) * | 2005-06-29 | 2008-07-02 | 西姆毕恩软件有限公司 | 遥控框架 |
CN102902618A (zh) * | 2011-07-28 | 2013-01-30 | 华为技术有限公司 | 移动设备应用程序开发调试的方法及装置 |
CN103605529A (zh) * | 2013-05-17 | 2014-02-26 | 华为终端有限公司 | 应用程序的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104570967A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
US9910765B2 (en) | Providing testing environments for software applications using virtualization and a native hardware layer | |
Brunette et al. | Open data kit sensors: a sensor integration framework for android at the application-level | |
CN110032512B (zh) | 一种小程序的调试方法、相关设备及终端 | |
WO2017054454A1 (zh) | 对usb设备的访问方法、装置、终端、服务器及系统 | |
US20120284696A1 (en) | Method, Apparatuses and a System for Compilation | |
US9207989B2 (en) | System and method for providing virtual device | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
US11882154B2 (en) | Template representation of security resources | |
WO2019057089A1 (zh) | 网卡镜像抓包方法、终端以及可读存储介质 | |
WO2017059724A1 (zh) | 一种操作系统的启动方法及装置 | |
CN104570967B (zh) | 基于Android系统的远程控制方法及系统 | |
WO2021238596A1 (zh) | 接口调用方法、装置和计算机可读存储介质 | |
US10499311B2 (en) | Method and apparatus for implementing network sharing | |
EP2897053B1 (en) | Device management method and apparatus | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
CN110278092A (zh) | 基于mqtt协议的路由器远程控制方法和系统 | |
US10073689B2 (en) | Managing application lifecycles within a federation of distributed software applications | |
WO2010069214A1 (zh) | 实现字段过滤的方法和装置 | |
CN104714760B (zh) | 一种读写存储设备的方法及装置 | |
CN113821333A (zh) | 安卓应用程序迁移的方法和装置 | |
CN113391931B (zh) | 基于蓝牙的远程控制方法、装置、计算机设备和存储介质 | |
CN109871288A (zh) | 执行Android系统命令的方法、装置、设备及介质 | |
CN105975624B (zh) | 一种数据传输方法、设备和系统 | |
US11188346B2 (en) | Obtaining environment information in a computing environment |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170620 Termination date: 20191017 |
|
CF01 | Termination of patent right due to non-payment of annual fee |