CN106454498B - Android平台管理USB设备的方法 - Google Patents

Android平台管理USB设备的方法 Download PDF

Info

Publication number
CN106454498B
CN106454498B CN201610954336.0A CN201610954336A CN106454498B CN 106454498 B CN106454498 B CN 106454498B CN 201610954336 A CN201610954336 A CN 201610954336A CN 106454498 B CN106454498 B CN 106454498B
Authority
CN
China
Prior art keywords
usb device
usb
information
equipment
broadcast
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
CN201610954336.0A
Other languages
English (en)
Other versions
CN106454498A (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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201610954336.0A priority Critical patent/CN106454498B/zh
Publication of CN106454498A publication Critical patent/CN106454498A/zh
Application granted granted Critical
Publication of CN106454498B publication Critical patent/CN106454498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及Android系统领域,公开了一种Android平台管理USB设备的方法,解决Android智能电视上无USB设备状态显示的问题。本发明的方法概括起来为:在USB设备管理应用中添加广播接收类,并静态注册USB设备接入、拔出广播和Android系统启动完成广播;当广播接收服务接收到USB设备插拔信息的广播消息以及对应的附加消息时,判断Android系统启动是否完成,根据Android系统启动完成情况执行不同操作;当需要查看Andriod平台上连接的USB设备的实时状态时,从设备散列表中读取设备信息,通过多级目录展示各USB信息。本发明适用于Android系统的智能电视。

Description

Android平台管理USB设备的方法
技术领域
本发明涉及Android系统,特别涉及Android平台管理USB设备的方法。
背景技术
Android操作系统中没有检测USB设备状态是否正常的功能,加上由于USB设备状态或电视端口USB设备接入个数的限制,部分USB设备无法正常使用,给用户造成困扰。通过对USB设备状态检测,能检测出已接入的设备是否能正常使用,可以对于异常的设备会有异常原因提示,并且解决设备无法正常使用的故障。目前的技术公开,主要在于配置USB设备与Android系统之间进行通讯,实现Android系统对USB设备的兼容。但是缺乏类似于Windows系统中设备管理器应用,以应用的形式呈现出接入Android智能电视的所有USB设备的信息,显示出由于主芯片USB端口支持设备个数限制、系统未预置USB设备驱动造成的USB设备无法使用的具体原因。
发明内容
本发明要解决的技术问题是:提供一种Android平台管理USB设备的方法,解决Android智能电视上无USB设备状态显示的问题。
为解决上述问题,本发明采用的技术方案是:包括如下步骤:
a.在USB设备管理应用中添加广播接收类,在Android应用的xml文件中静态注册USB设备接入、拔出广播和Android系统启动完成广播,并使Android系统发送所有USB设备插拔信息的广播消息以及对应的附加消息;
b.当广播接收服务接收到USB设备插拔信息的广播消息以及对应的附加消息时,判断Android系统启动是否完成,若Android系统未完成启动,则进入步骤c;若Android系统完成启动,则进入步骤d,
c.对于接收到的USB设备广播消息,只保存不处理,等到Android系统启动完成后,在USB设备路径目录中遍历所有文件夹,检测USB设备路径目录下具有相同字符名的无冒号文件名文件夹与有包含冒号文件名文件夹是否存在一一对应关系,如果不存在前述对应关系,表示接入设备已经超过该USB端口支持的最大USB接入数;
d.延时一段时间后取出附加信息,若附加信息为拔出,则删除已接入设备散列表中该设备的所有信息;
若附加信息为接入,则遍历USB设备路径,将USB设备路径下的目录与系统的设备散列表中设备信息的设备路径比对,找到新接入的设备路径,如果新增设备路径只有一个,表明 当前端口接入的设备数已经超过所支持的个数,提示用户将该设备接入到其他USB端口;如果新增设备路径有多个,则进入到新增目录中查看是否有ep_ee文件,若有ep_ee文件则表明当前端口接入的设备数已经超过所支持的个数,提示用户将该设备接入到其他USB端口,若没有ep_ee文件则查看是否有driver目录,如果没有则表明当前设备没有驱动,提示用户部分功能无法正常使用;
e.从USB设备路径目录下读取USB设备创建的文件,解析出USB的设备状态信息,根据所述设备状态信息解析结果,生成一个设备散列表,用于保存各个USB设备信息;
当需要查看Andriod平台上连接的USB设备的实时状态时,从设备散列表中读取设备信息,通过多级目录展示各USB信息。
具体的,步骤e中USB设备信息包含ep是否正常接入、驱动是否正常加载。
本发明的有益效果是:本发明可以有效检测因USB端口设备接入个数限制而引起的设备不可用问题,因无驱动原因造成的设备不可用问题,提升了智能电视的使用体验。
具体实施方式
下面以“解决A解决Android智能电视上无USB设备状态显示的问题”为例对本发明进行具体说明。
1、在USB设备管理应用中添加广播接收类,并静态注册USB设备接入、拔出广播和Android系统启动完成广播,使Android系统发送所有USB设备插拔信息的广播消息以及对应的附加消息。通过在Android应用的xml文件中注册静态广播,可以在应用未启动前也能接收到广播。当USB设备接入Android智能电视时,调用UsbHostManager类的usbDeviceAdded方法,在这个方法中添加USB设备接入广播;当USB设备从Android智能电视拔出时,调用UsbHostManager类的UsbDeviceRemoved方法,在这个方法中添加设备拔出广播。
2、USB设备广播接收服务,接收到广播消息后,首先判定Android系统启动是否完成。
2.1、若Android系统未启动完成
对于接收到的USB设备广播消息,只保存不处理,等到Android系统在启动完成后,会发出BOOT_COMPLETED的开机完成广播,根据在接收到USB设备接入、拔出广播时,是否已经收到该启动完成广播信息,判定Android系统是否已经完成启动。由于智能电视内置了蓝牙、wifi、hub等USB设备,在开机过程中,这些设备自动接入Android智能电视,调用UsbHostManager类的usbDeviceAdded方法,发出大量USB设备接入广播。可以避免在Android系统启动完成前程序反复执行大量读写操作,占用系统资源,影响Android系统开机时间。
Android系统启动过程中有大量的内置设备接入信息,为避免遗漏和重复检测,在Android系统启动完成后,统一做一次设备检测。检测方式是在sys/bus/usb/device(USB设备路径)目录中遍历所有文件夹。
目录下不包含冒号的文件夹名文件夹中,保存着USB设备的信息,在应用中新建一个设备对象,从该目录下的product文件中读取出设备名并保存为该设备的设备名。
目录下包含冒号、并且冒号前内容与该目录完全一致的文件夹中,保存有USB设备接口信息。根据bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol判定接口所属的USB设备类型;根据bNumEndpoints内容和ep文件的个数判定该接口端点是否完全接入。当接口目录下存在ep_ee文件时,表示接入设备已经超过该USB端口支持的最大USB接入数。
在sys/bus/usb/device目录下,当存在无冒号文件夹名文件夹,但不存在包含冒号且冒号前内容与之完全一致的文件夹时,表示接入设备已经超过该USB端口支持的最大USB接入数。开机完成前由于内置设备接入频繁发送广播,sys/bus/usb/device目录下文件结构快速发生改变,引起检测不正确。在Android系统启动完成前,接收到设备接入广播后,不做检测处理,等到Android系统启动完成才进行检测。
2.2若Android系统启动完成
后台收到广播后,延迟10秒处理,避免开机时或USB供电异常而频繁发出广播造成的非必要处理。延时10秒后取出附加信息,若附加信息为拔出则删除app中已接入设备散列表中该设备的所有信息。
若附加信息为拔出,则删除已接入设备散列表中该设备的所有信息;
若附加信息为接入,则遍历USB设备路径,将USB设备路径下的目录与系统的设备散列表中设备信息的设备路径比对,找到新接入的设备路径,如果新增设备路径只有一个,表明当前端口接入的设备数已经超过所支持的个数,提示用户将该设备接入到其他USB端口;如果新增设备路径有多个,则进入到新增目录中查看是否有ep_ee文件,若有ep_ee文件则表明当前端口接入的设备数已经超过所支持的个数,提示用户将该设备接入到其他USB端口,若没有ep_ee文件则查看是否有driver目录,如果没有则表明当前设备没有驱动,提示用户部分功能无法正常使用。
3、系统从/sys/bus/usb/device下读取USB设备创建的文件,解析出USB设备状态信息。USB驱动创建了设备的vid、pid、class、subclass、protocol、driver等文件,通过vid和pid可以判定设备的制造厂商。通过class、subclass、protocol可以判定USB的类型,通过driver可以判定设备是否已经加载驱动。根据上述设备状态信息解析结果,生成一个散列表,保存各个USB设备信息,包含ep是否正常接入、驱动是否正常加载等。散列表在用户使用USB设备管理应用查看USB信息时供应用解析,根据散列表的数据呈现出Android系统中USB的实时信息。
当需要查看Andriod平台上连接的USB设备的实时状态时,从设备散列表中读取设备信息,通过多级目录展示各USB信息。
以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

Claims (2)

1.Android平台管理USB设备的方法,其特征在于,包括如下步骤:
a.在USB设备管理应用中添加广播接收类,在Android应用的xml文件中静态注册USB设备接入、拔出广播和Android系统启动完成广播,并使Android系统发送所有USB设备插拔信息的广播消息;
b.当广播接收服务接收到USB设备插拔信息的广播消息,判断Android系统启动是否完成,若Android系统未完成启动,则进入步骤c;若Android系统完成启动,则进入步骤d,
c.对于接收到的USB设备插拔信息的广播消息,只保存不处理,等到Android系统启动完成后,在USB设备路径目录中遍历所有文件夹,当存在无冒号文件夹名文件夹,但不存在包含冒号且冒号前内容与USB设备路径目录完全一致的文件夹时,表示接入设备已经超过该USB端口支持的最大USB接入数;
d.延时一段时间后取出USB设备插拔信息的广播消息,若USB设备插拔信息的广播消息为拔出,则删除已接入设备散列表中该设备的所有信息;
若USB设备插拔信息的广播消息为接入,则遍历USB设备路径,将USB设备路径下的目录与系统的设备散列表中设备信息的设备路径比对,找到新接入的设备路径,如果新增设备路径只有一个,表明当前端口接入的设备数已经超过所支持的个数,提示用户将该设备接入到其他USB端口;如果新增设备路径有多个,则进入到新增目录中查看是否有ep_ee文件,若有ep_ee文件则表明当前端口接入的设备数已经超过所支持的个数,提示用户将该设备接入到其他USB端口,若没有ep_ee文件则查看是否有driver目录,如果没有则表明当前设备没有驱动,提示用户部分功能无法正常使用;
e.从USB设备路径目录下读取USB设备创建的文件,解析出USB的设备状态信息,根据所述设备状态信息解析结果,生成一个设备散列表,用于保存各个USB设备信息;
当需要查看Andriod平台上连接的USB设备的实时状态时,从设备散列表中读取设备信息,通过多级目录展示各USB信息。
2.根据权利要求1所述的Android平台管理USB设备的方法,其特征在于,步骤e中USB设备信息包含ep是否正常接入、驱动是否正常加载。
CN201610954336.0A 2016-11-03 2016-11-03 Android平台管理USB设备的方法 Active CN106454498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610954336.0A CN106454498B (zh) 2016-11-03 2016-11-03 Android平台管理USB设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610954336.0A CN106454498B (zh) 2016-11-03 2016-11-03 Android平台管理USB设备的方法

Publications (2)

Publication Number Publication Date
CN106454498A CN106454498A (zh) 2017-02-22
CN106454498B true CN106454498B (zh) 2019-06-04

Family

ID=58180951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610954336.0A Active CN106454498B (zh) 2016-11-03 2016-11-03 Android平台管理USB设备的方法

Country Status (1)

Country Link
CN (1) CN106454498B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107396163B (zh) * 2017-07-25 2020-09-22 海信视像科技股份有限公司 U盘提示控制方法、装置和电视机
CN109951860B (zh) * 2017-12-21 2022-07-08 深圳Tcl新技术有限公司 一种获取wifi信息的方法、智能电视及存储介质
CN111475347B (zh) * 2020-03-03 2022-05-27 瑞芯微电子股份有限公司 一种支持摄像头热拔插功能的方法、装置、设备和介质
CN111274189B (zh) * 2020-03-10 2023-08-08 国微集团(深圳)有限公司 Usb设备及其实时通讯方法
CN115442524B (zh) * 2022-08-23 2023-11-03 西安微电子技术研究所 一种摄像方法及系统、终端设备和计算机可读存储介质
CN117112047B (zh) * 2023-06-30 2024-04-26 浙江齐安信息科技有限公司 一种usb设备的管控方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049327A (zh) * 2011-10-14 2013-04-17 深圳市同洲电子股份有限公司 一种android系统挂载多存储设备的方法及装置
WO2014081468A1 (en) * 2012-11-21 2014-05-30 Snoopwall, Llc System and method for detecting, alerting and blocking data leakage, eavesdropping and spyware
CN104636656A (zh) * 2015-02-11 2015-05-20 深圳市美贝壳科技有限公司 存储设备加载控制方法和系统
CN105389180A (zh) * 2015-10-29 2016-03-09 诚迈科技(南京)股份有限公司 一种基于Android平台的USB端口可配置化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049327A (zh) * 2011-10-14 2013-04-17 深圳市同洲电子股份有限公司 一种android系统挂载多存储设备的方法及装置
WO2014081468A1 (en) * 2012-11-21 2014-05-30 Snoopwall, Llc System and method for detecting, alerting and blocking data leakage, eavesdropping and spyware
CN104636656A (zh) * 2015-02-11 2015-05-20 深圳市美贝壳科技有限公司 存储设备加载控制方法和系统
CN105389180A (zh) * 2015-10-29 2016-03-09 诚迈科技(南京)股份有限公司 一种基于Android平台的USB端口可配置化方法

Also Published As

Publication number Publication date
CN106454498A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106454498B (zh) Android平台管理USB设备的方法
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
CN105511936B (zh) 测试系统、方法和装置
CN109656627A (zh) 一种bios中硬盘的启动方法、启动系统及相关装置
CN104461786B (zh) Android系统的恢复方法及Android系统的恢复系统
CN105825131B (zh) 一种基于uefi的计算机安全启动防护方法
CN104850460A (zh) 一种服务程序线程管理方法
EP2985695A1 (en) Method and device for setting application program state
CN110225078B (zh) 一种应用服务更新方法、系统及终端设备
WO2010133051A1 (zh) 自动适配多种制式无线数据卡的方法及装置
CN103795740A (zh) 插件安装包的下载方法及下载终端
CN106095413B (zh) 一种蓝牙驱动程序的配置方法及装置
CN105786462A (zh) 开机方法
CN103780428A (zh) 应用于云架构的集中式资源管理方法及系统
CN105068946A (zh) 一种安卓设备的识别方法和装置
CN112612533A (zh) ARM服务器中基于CentOS的BMC setup选项修改方法
CN105653475B (zh) 一种usb设备的识别方法及系统
CN105426544B (zh) 监控数据库状态的方法及装置
CN108965403B (zh) 运维监控连接的建立方法及终端设备
CN109740342B (zh) 获取shell执行权限的方法、系统、计算机装置及存储介质
CN104780062A (zh) 一种快速获取bmc管理网口ip地址的方法
CN105843675B (zh) 线程退出方法和装置
CN106161532A (zh) 一种基于云服务的定向清理方法及系统
CN105912431A (zh) 服务器reboot测试方法、服务器、控制器和系统
CN102752365B (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