一种外设USB权限的自动获取方法、装置、设备和介质【掌桥专利】 您所在的位置:网站首页 usb设备检测 一种外设USB权限的自动获取方法、装置、设备和介质【掌桥专利】

一种外设USB权限的自动获取方法、装置、设备和介质【掌桥专利】

2023-03-10 11:19| 来源: 网络整理| 查看: 265

技术领域

本申请涉及计算机技术领域,尤其涉及一种外设USB权限的自动获取方法、装置、设备和介质。

背景技术

当USB外接到某设备时,通常需要用户手动点击确认来完成赋予USB权限,用户体验性较差。现有技术中通过应用内置无障碍服务,以完成外设USB权限申请,但在应用崩溃后,下次再使用无障碍服务时,需要用户重新开启无障碍服务,从而无法在下次外设USB连上时自动赋予权限。

发明内容

本申请提供了一种外设USB权限的自动获取方法、装置、设备和介质,用于改善现有技术中通过应用内置无障碍服务,以完成USB权限申请,但在应用崩溃后,下次再使用无障碍服务时,需要用户重新开启无障碍服务,从而无法在下次外设USB连上时自动赋予权限的技术问题。

有鉴于此,本申请第一方面提供了一种外设USB权限的自动获取方法,包括:

在首次启动监控进程时,为所述监控进程启用无障碍服务;

在所述监控进程中配置待监听应用的标识,或,通过需使用外设USB的目标应用传入所述待监听应用的标识到所述监控进程,使得所述监控进程对所述待监听应用进行监听;

当所述监控进程监听过程中检测到USB权限申请确认框时,通过所述监控进程采用所述无障碍服务模拟点击所述USB权限申请确认框中的确认控件,以获取外设USB权限。

可选的,当通过需使用外设USB的目标应用传入所述待监听应用的标识到所述监控进程时,所述方法还包括:

启动需使用外设USB的所述目标应用时,判断所述监控进程是否启动;

当判断到所述监控进程未启动时,启动所述监控进程,并跳转所述通过需使用外设USB的目标应用传入所述待监听应用的标识到所述监控进程的步骤。

可选的,所述方法还包括:

通过USB服务监听外设USB插拔事件或通过所述目标应用监听外设USB插拔广播事件;

当监听到外设USB插入且该外设USB没有权限时,通过USB服务申请权限,以获取所述USB权限申请确认框。

可选的,所述当所述监控进程监听过程中检测到USB权限申请确认框时,通过所述监控进程采用所述无障碍服务模拟点击所述USB权限申请确认框中的确认控件,以获取外设USB权限,包括:

当所述监控进程监听过程中检测到USB权限申请确认框时,通过所述监控进程确定所述USB权限申请确认框中的确认控件的ID;

通过所述监控进程根据所述确认控件的ID,采用所述无障碍服务模拟点击所述USB权限申请确认框中的所述确认控件,以获取外设USB权限。

本申请第二方面提供了一种外设USB权限的自动获取装置,包括:

启动单元,应用在首次启动监控进程时,为所述监控进程启用无障碍服务;

第一监听单元,用于在所述监控进程中配置待监听应用的标识,或,通过需使用外设USB的目标应用传入所述待监听应用的标识到所述监控进程,使得所述监控进程对所述待监听应用进行监听;

点击单元,用于当所述监控进程监听过程中检测到USB权限申请确认框时,通过所述监控进程采用所述无障碍服务模拟点击所述USB权限申请确认框中的确认控件,以获取外设USB权限。

可选的,当所述监听单元通过需使用外设USB的所述目标应用传入所述目标应用的标识到所述监控进程时,所述装置还包括:

判断单元,用于启动需使用外设USB的所述目标应用时,并判断所述监控进程是否启动;

触发单元,用于当判断到所述监控进程未启动时,启动所述监控进程,并触发所述监听单元。

可选的,所述装置还包括:第二监听单元,用于:

通过USB服务监听外设USB插拔事件或通过所述目标应用监听外设USB插拔广播事件;

当监听到外设USB插入且该外设USB没有权限时,通过USB服务申请权限,以获取所述USB权限申请确认框。

可选的,所述点击单元具体用于:

当所述监控进程监听过程中检测到USB权限申请确认框时,通过所述监控进程确定所述USB权限申请确认框中的确认控件的ID;

通过所述监控进程根据所述确认控件的ID,采用所述无障碍服务模拟点击所述USB权限申请确认框中的所述确认控件,以获取外设USB权限。

本申请第三方面提供了一种外设USB权限的自动获取设备,所述设备包括处理器以及存储器;

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的外设USB权限的自动获取方法。

本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面任一种所述的外设USB权限的自动获取方法。

从以上技术方案可以看出,本申请具有以下优点:

本申请提供了一种外设USB权限的自动获取方法,包括:在首次启动监控进程时,为监控进程启用无障碍服务;在监控进程中配置待监听应用的标识,或,通过需使用外设USB的目标应用传入待监听应用的标识到监控进程,使得监控进程对待监听应用进行监听当监控进程监听过程中检测到USB权限申请确认框时,通过监控进程采用无障碍服务模拟点击USB权限申请确认框中的确认控件,以获取外设USB权限。

本申请中,考虑到一个应用进程既包含外设USB的使用又包含无障碍监听,容易导致该应用进程崩溃,进而使得在下次外设USB连上时,无法自动赋予权限,因此,本申请创建一个监听进程,并在首次启动监听进程时启用无障碍服务,将无障碍服务监听的功能独立于应用程序,而监听进程的逻辑比较简单,保证了包含无障碍服务的监听进程的稳定性,防止其出现崩溃现象,从而改善了现有技术中通过应用内置无障碍服务,以完成USB权限申请,但在应用崩溃后,下次再使用无障碍服务时,需要用户重新开启无障碍服务,从而无法在下次外设USB连上时自动赋予权限的技术问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的一种外设USB权限的自动获取方法的一个流程示意图;

图2为本申请实施例提供的一种USB权限申请确认框的一个示意图;

图3为本申请实施例提供的一种外设USB权限的自动获取装置的一个结构示意图。

具体实施方式

本申请提供了一种外设USB权限的自动获取方法、装置、设备和介质,用于改善现有技术中通过应用内置无障碍服务,以完成USB权限申请,但在应用崩溃后,下次再使用无障碍服务时,需要用户重新开启无障碍服务,从而无法在下次外设USB连上时自动赋予权限的技术问题。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解,请参阅图1,本申请提供的一种外设USB权限的自动获取方法的一个实施例,该方法可以应用于安卓系统,方法包括:

步骤101、在首次启动监控进程时,为监控进程启用无障碍服务。

本申请实施例考虑到一个应用进程既包含外设USB的使用又包含无障碍监听,容易导致该应用进程崩溃。因此,本申请创建一个监听进程,并在首次启动监听进程时,引导用户到系统设置中为该监控进程启用无障碍服务。本申请实施例将无障碍服务监听的功能独立于应用程序,而监听进程的逻辑比较简单,保证了包含无障碍服务的监听进程的稳定性,使得监听进程不容易崩溃。

步骤102、在监控进程中配置待监听应用的标识,或,通过需使用外设USB的目标应用传入待监听应用的标识到监控进程,使得监控进程对待监听应用进行监听。

在一种实施例中,可以在监控进程中配置待监听应用的标识,可以直接在监控进程的代码中配置待监听应用的标识,待监听应用的标识可以是待监听应用的应用包名,待监听应用的数量可以为一个或者多个。在监控进程中配置好待监听应用的标识后,监听进程可以利用无障碍服务的界面增强功能对待监听应用进行监听。

在另一种实施例中,可以通过需使用外设USB的目标应用传入待监听应用的标识到监控进程,使得监控进程对待监听应用进行监听。

进一步,当通过需使用外设USB的目标应用传入待监听应用的标识到监控进程时,在启动需使用外设USB的目标应用时,可以通过系统服务判断监控进程是否启动;当判断到监控进程未启动时,启动监控进程,然后跳转通过需使用外设USB的目标应用传入待监听应用的标识到监控进程的步骤。其在,目标应用传入待监听应用的标识时,可以将其自身的包名传入到监控进程中,以通过监控进程对目标应用进行监听。

进一步,可以通过USB服务监听外设USB插拔事件或通过目标应用监听外设USB插拔广播事件,目标应用可以注册系统USB插拔事件广播,以监听新的外设USB插拔;当监听到外设USB插入且该外设USB没有权限时,通过USB服务申请权限,以获取USB权限申请确认框,此时系统会弹出USB权限申请确认框,弹出的USB权限申请确认框可以参考图2。

步骤103、当监控进程监听过程中检测到USB权限申请确认框时,通过监控进程采用无障碍服务模拟点击USB权限申请确认框中的确认控件,以获取外设USB权限。

当系统弹出USB权限申请确认框时,该USB权限申请确认框会被监控进程捕获,当监控进程监听过程中检测到USB权限申请确认框时,通过监控进程确定USB权限申请确认框中的确认控件的ID;通过监控进程根据确认控件的ID,采用无障碍服务模拟点击USB权限申请确认框中的确认控件,以获取外设USB权限。

监控进程在查找USB权限申请确认框中的确认控件时,可以采用安卓开发工具中的DDMS工具的dump view找到确认控件的ID,然后根据确认控件的ID,采用无障碍服务模拟点击USB权限申请确认框中的确认控件,以获取外设USB权限。本申请实施例通过监听进程和安卓系统中的无障碍服务,可以在安卓系统上检测到外设USB插入时,对系统弹出的权限申请框进行自动确认,无需用户手动确认完成权限的获取,且由于监控检测逻辑简单为独立的应用,极大的保证了监听进程运行的稳定性,不容易崩溃。

本申请实施例中,考虑到一个应用进程既包含外设USB的使用又包含无障碍监听,容易导致该应用进程崩溃,进而使得在下次外设USB连上时,无法自动赋予权限,因此,本申请创建一个监听进程,并在首次启动监听进程时启用无障碍服务,将无障碍服务监听的功能独立于应用程序,而监听进程的逻辑比较简单,保证了包含无障碍服务的监听进程的稳定性,防止其出现崩溃现象,从而改善了现有技术中通过应用内置无障碍服务,以完成USB权限申请,但在应用崩溃后,下次再使用无障碍服务时,需要用户重新开启无障碍服务,从而无法在下次外设USB连上时自动赋予权限的技术问题。

以上为本申请提供的一种外设USB权限的自动获取方法的一个实施例,以下为本申请提供的一种外设USB权限的自动获取装置的一个实施例。

请参阅图3,本申请实施例提供的一种外设USB权限的自动获取装置,包括:

启动单元,应用在首次启动监控进程时,为监控进程启用无障碍服务;

第一监听单元,用于在监控进程中配置待监听应用的标识,或,通过需使用外设USB的目标应用传入待监听应用的标识到监控进程,使得监控进程对待监听应用进行监听;

点击单元,用于当监控进程监听过程中检测到USB权限申请确认框时,通过监控进程采用无障碍服务模拟点击USB权限申请确认框中的确认控件,以获取外设USB权限。

作为进一步地改进,当监听单元通过需使用外设USB的目标应用传入目标应用的标识到监控进程时,装置还包括:

判断单元,用于启动需使用外设USB的目标应用时,并判断监控进程是否启动;

触发单元,用于当判断到监控进程未启动时,启动监控进程,并触发监听单元。

作为进一步地改进,装置还包括:第二监听单元,用于:

通过USB服务监听外设USB插拔事件或通过目标应用监听外设USB插拔广播事件;

当监听到外设USB插入且该外设USB没有权限时,通过USB服务申请权限,以获取USB权限申请确认框。

作为进一步地改进,点击单元具体用于:

当监控进程监听过程中检测到USB权限申请确认框时,通过监控进程确定USB权限申请确认框中的确认控件的ID;

通过监控进程根据确认控件的ID,采用无障碍服务模拟点击USB权限申请确认框中的确认控件,以获取外设USB权限。

本申请实施例中,考虑到一个应用进程既包含外设USB的使用又包含无障碍监听,容易导致该应用进程崩溃,进而使得在下次外设USB连上时,无法自动赋予权限,因此,本申请创建一个监听进程,并在首次启动监听进程时启用无障碍服务,将无障碍服务监听的功能独立于应用程序,而监听进程的逻辑比较简单,保证了包含无障碍服务的监听进程的稳定性,防止其出现崩溃现象,从而改善了现有技术中通过应用内置无障碍服务,以完成USB权限申请,但在应用崩溃后,下次再使用无障碍服务时,需要用户重新开启无障碍服务,从而无法在下次外设USB连上时自动赋予权限的技术问题。

本申请实施例还提供了一种外设USB权限的自动获取设备,其特征在于,设备包括处理器以及存储器;

存储器用于存储程序代码,并将程序代码传输给处理器;

处理器用于根据程序代码中的指令执行前述方法实施例中的外设USB权限的自动获取方法。

本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述方法实施例中的外设USB权限的自动获取方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有