一种usb设备即插即用的授权方法和系统的制作方法

文档序号:10553227阅读:575来源:国知局
一种usb设备即插即用的授权方法和系统的制作方法
【专利摘要】本发明公开了一种USB设备即插即用的授权方法和系统,其中,该方法包括:判断是否有USB设备插入Android设备;当有USB设备插入Android设备时,判断插入Android设备的第一USB设备的设备类型是否为预设的设备类型;当所述第一USB设备的设备类型为预设的设备类型时,为所述第一USB设备进行系统授权并通知待访问所述第一USB设备的应用程序。本发明的技术方案简化了现有技术中系统指定的USB设备插入时,对插入的USB设备进行反复授权的过程,节省了系统授权时间和用户操作时间,提高了USB设备即插即用的授权效率,同时也优化了用户体验。
【专利说明】
一种USB设备即插即用的授权方法和系统
技术领域
[0001]本发明涉及Android系统的设备授权技术领域,具体地,涉及一种USB设备即插即用的授权方法和系统。
【背景技术】
[0002]Android系统为了提高安全性,在Android设备被插入USB设备后会弹出一个对话框,询问用户是否给予此设备授权使用,如果用户点击了确定按钮,那么就可以使用这个USB设备了。
[0003]但是,在现有技术中,即使对于厂商自己的USB设备来说,也需要让用户授权,导致了繁琐的操作和不友好的用户体验,所以需要有一个能够直接授权的机制。

【发明内容】

[0004]为了解决现有技术中对插入Android设备的指定类型的USB设备需要反复进行授权,导致操作繁琐的技术问题,本发明提出了一种USB设备即插即用的授权方法和系统。
[0005]本发明的一种USB设备即插即用的授权方法,包括:
[0006]判断是否有USB设备插入Android设备;
[0007]当有USB设备插入Android设备时,判断插入Android设备的第一 USB设备的设备类型是否为预设的设备类型;
[0008]当所述第一 USB设备的设备类型为预设的设备类型时,为所述第一 USB设备进行系统授权并通知待访问所述第一 USB设备的应用程序。
[0009]优选的,还包括:
[0010]根据待访问所述第一 USB设备的第一应用程序的包名称,判断所述第一应用程序是否为预设的应用程序,如果是则直接授权所述第一应用程序使用所述第一 USB设备。
[0011]优选的,所述判断是否有USB设备插入Android设备包括:
[0012]在Android设备的系统应用程序SystemUI中,设置一个广播接收器,并将所述广播接收器注册到主配置文件中;
[0013]根据所述广播接收器接收到的广播消息判断是否有USB设备插入Android设备。
[0014]优选的,所述判断插入Android设备的第一 USB设备的设备类型是否为预设的设备类型包括:
[0015]获取插入Android设备的第一 USB设备的设备类型,所述设备类型包括productld、vendorld ;
[0016]将所述第一USB 设备的 productlcUvendorld 与预设的 productlcUvendorld 分别进行匹配;
[0017]如果匹配一致,则所述第一 USB设备的设备类型为预设的设备类型;如果匹配不一致,则所述第一 USB设备的设备类型不是预设的设备类型。
[0018]优选的,设置一个包含全部预设的设备类型的白名单,当插入Android设备的USB设备的设备类型包含在所述白名单中时,为该USB设备进行系统授权并通知待访问该USB设备的应用程序。
[0019]本发明的USB设备即插即用的授权方法,对于满足预设条件的USB设备(如厂商指定的USB设备),可以在插入Android设备后直接使用,Android系统能够默认对该USB设备直接授权,即插即用,简单方便。本发明的技术方案简化了现有技术中系统指定的USB设备插入时,对插入的USB设备进行反复授权的过程,节省了系统授权时间和用户操作时间,提高了 USB设备即插即用的授权效率,同时也优化了用户体验。
[0020]本发明的一种USB设备即插即用的授权系统,包括:
[0021]第一判断模块,用于判断是否有USB设备插入Android设备;
[0022]第二判断模块,用于当有USB设备插入Android设备时,判断插入Android设备的第一 USB设备的设备类型是否为预设的设备类型;
[0023]系统授权模块,用于当所述第一 USB设备的设备类型为预设的设备类型时,为所述第一 USB设备进行系统授权并通知待访问所述第一 USB设备的应用程序。
[0024]优选的,还包括:
[0025]使用授权模块,用于根据待访问所述第一 USB设备的第一应用程序的包名称,判断所述第一应用程序是否为预设的应用程序,如果是则直接授权所述第一应用程序使用所述第一 USB设备。
[0026]优选的,所述第一判断模块具体用于,
[0027]在Android设备的系统应用程序SystemUI中,设置一个广播接收器,并将所述广播接收器注册到主配置文件中;
[0028]根据所述广播接收器接收到的广播消息判断是否有USB设备插入Android设备。
[0029]优选的,所述第二判断模块具体用于,
[0030]获取插入Android设备的第一 USB设备的设备类型,所述设备类型包括productld、vendorld ;
[0031]将所述第一USB 设备的 productlcUvendorld 与预设的 productlcUvendorld 分别进行匹配;
[0032]如果匹配一致,则所述第一 USB设备的设备类型为预设的设备类型;如果匹配不一致,则所述第一 USB设备的设备类型不是预设的设备类型。
[0033]优选的,设置一个包含全部预设的设备类型的白名单,当插入Android设备的USB设备的设备类型包含在所述白名单中时,为该USB设备进行系统授权并通知待访问该USB设备的应用程序。
[0034]本发明的USB设备即插即用的授权系统,对于满足预设条件的USB设备(如厂商指定的USB设备),可以在插入Android设备后直接使用,Android系统能够默认对该USB设备直接授权,即插即用,简单方便。本发明的技术方案简化了现有技术中系统指定的USB设备插入时,对插入的USB设备进行反复授权的过程,节省了系统授权时间和用户操作时间,提高了 USB设备即插即用的授权效率,同时也优化了用户体验。
[0035]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0036]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0037]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0038]图1为本发明实施例一的工作流程示意图;
[0039]图2为本发明实施例二的系统结构示意图。
【具体实施方式】
[0040]下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保护范围并不受【具体实施方式】的限制。
[0041]为了解决现有技术中对插入Android设备的指定类型的USB设备需要反复进行授权,导致操作繁琐的技术问题,本发明提出了一种USB设备即插即用的授权方法和系统。对于直接可以发布ROM的Android设备厂商,针对自己已知的USB设备,可以直接就该USB设备授权,写死到系统逻辑中,就不用再这样让用户授权了,从而保证了安全性的前提下,得以简化用户的操作。
[0042]实施例一
[0043]如图1所示,对本发明的USB设备即插即用的授权方法进行说明,包括以下步骤:
[0044]步骤SlOl:判断是否有USB设备插入Android设备;
[0045]优选的,在Android设备的系统应用程序SystemUI中,设置一个广播接收器,并将所述广播接收器注册到主配置文件中;根据所述广播接收器接收到的广播消息判断是否有USB设备插入Android设备。
[0046]具体的,在Android系统应用程序SystemUI中设置一个广播接收器,并将此广播接收器注册到主配置文件(AndroidManifest.xml)中,Android系统的广播接收器中选择过滤的广播条件是” android, hardware, usb.act1n.USB_DEVICE_ATTACHED” 和 “android.hardware, usb.act1n.USB_DEVICE_DETACHED”两种,前者表示有USB设备插入,后者表示没有USB设备插入。
[0047]步骤S102:当有USB设备插入Android设备时,判断插入Android设备的第一 USB设备的设备类型是否为预设的设备类型;当没有USB设备插入时,流程结束。
[0048]优选的,获取插入Android设备的第一 USB设备的设备类型,所述设备类型包括productld、vendorld ;将所述第一 USB 设备的 productld、vendorld 与预设的 productld、vendorld分别进行匹配;如果匹配一致,则所述第一 USB设备的设备类型为预设的设备类型;如果匹配不一致,则所述第一 USB设备的设备类型不是预设的设备类型。
[0049]具体的,如果广播接收器接收到的是“android, hardware, usb.act1n.USB_DEVICE_ATTACHED”消息,说明有USB设备插入。那么判断该USB设备的设备类型是不是预设的设备类型(如厂商指定的设备类型),USB设备类型在Android系统的SystemUI应用程序中以productld和vendorld作为区分标识。如果这两个数值匹配,则可认为是预设的设备类型。productld和vendorld是用来区分不同设备类型的标识。
[0050]优选的,可以设置一个包含全部预设的设备类型的白名单,当插入Android设备的USB设备的设备类型包含在所述白名单中时,为该USB设备进行系统授权并通知待访问该USB设备的应用程序,从而能够允许一批USB设备都能通过授权验证。
[0051]步骤S103:当所述第一USB设备的设备类型为预设的设备类型时,为所述第一USB设备进行系统授权并通知待访问所述第一 USB设备的应用程序。授权成功或失败后发送不同的广播通知应用程序。当所述第一 USB设备的设备类型不是预设的设备类型时,依旧采用现有技术中的用户手动授权的步骤,以保证安全性。
[0052]如果插入的USB设备的设备类型是预设的设备类型,就可以调用Android系统的ServiceManager获取Context.USB_SERVICE类型的Android系统服务,然后就可以调用Android系统服务的grantDevicePermi ss1n来给该USB设备授权,并发送广播通知待访问该USB设备的应用程序,即完成了此USB设备插入后的系统授权。
[0053]步骤S104:根据待访问所述第一 USB设备的第一应用程序的包名称,判断所述第一应用程序是否为预设的应用程序,如果是则直接授权所述第一应用程序使用所述第一USB设备。如果不是则依旧采用现有技术中的用户手动授权的步骤,以保证安全性。
[0054]Android 系统还会调出的 SystemUI 应用程序中的 UsbPermiss1nActivity,这个Activity样式是Dialog(会话)样式,也就是用户能看到的USB设备授权对话框。在onCreate (OnCreate是Android中的一个特别的函数,用来“表示一个窗口正在生成”)中,判断使用此USB设备的应用程序的包名称(在Android系统中包名称是每个应用程序的唯一标识),如果匹配确认是预设的应用程序(如厂商的应用程序),那么就可以直接授权使用此USB设备了。
[0055]此处只需要将这个类UsbPermiss1nActivity里的成员变量mPermiss1nGranted赋值为true,然后调用f inish O即可。在onDestroyO里面会继续处理授权。这样,这个会话框还没有显示出来就已经授权并结束了。
[0056]至此,Android系统就可以直接使用此USB设备了,无论是系统直接使用,还是系统内的指定应用程序,它们都可以直接使用此USB设备。
[0057]本发明的USB设备即插即用的授权方法,对于满足预设条件的USB设备(如厂商指定的USB设备),可以在插入Android设备后直接使用,Android系统能够默认对该USB设备直接授权,即插即用,简单方便。本发明的技术方案简化了现有技术中系统指定的USB设备插入时,对插入的USB设备进行反复授权的过程,节省了系统授权时间和用户操作时间,提高了 USB设备即插即用的授权效率,同时也优化了用户体验。
[0058]实施例二
[0059]如图2所示,本发明的一种USB设备即插即用的授权系统,包括:
[0060]第一判断模块21,用于判断是否有USB设备插入Android设备;
[0061 ] 第二判断模块22,用于当有USB设备插入Android设备时,判断插入Android设备的第一 USB设备的设备类型是否为预设的设备类型;
[0062]系统授权模块23,用于当所述第一 USB设备的设备类型为预设的设备类型时,为所述第一 USB设备进行系统授权并通知待访问所述第一 USB设备的应用程序。
[0063]优选的,还包括:
[0064]使用授权模块24,用于根据待访问所述第一 USB设备的第一应用程序的包名称,判断所述第一应用程序是否为预设的应用程序,如果是则直接授权所述第一应用程序使用所述第一 USB设备。
[0065]优选的,所述第一判断模块21具体用于,
[0066]在Android设备的系统应用程序SystemUI中,设置一个广播接收器,并将所述广播接收器注册到主配置文件中;
[0067]根据所述广播接收器接收到的广播消息判断是否有USB设备插入Android设备。
[0068]优选的,所述第二判断模块22具体用于,
[0069]获取插入Android设备的第一 USB设备的设备类型,所述设备类型包括productld、vendorld ;
[0070]将所述第一USB 设备的 productlcUvendorld 与预设的 productlcUvendorld 分别进行匹配;
[0071]如果匹配一致,则所述第一 USB设备的设备类型为预设的设备类型;如果匹配不一致,则所述第一 USB设备的设备类型不是预设的设备类型。
[0072]优选的,设置一个包含全部预设的设备类型的白名单,当插入Android设备的USB设备的设备类型包含在所述白名单中时,为该USB设备进行系统授权并通知待访问该USB设备的应用程序。
[0073]本发明的USB设备即插即用的授权系统,对于满足预设条件的USB设备(如厂商指定的USB设备),可以在插入Android设备后直接使用,Android系统能够默认对该USB设备直接授权,即插即用,简单方便。本发明的技术方案简化了现有技术中系统指定的USB设备插入时,对插入的USB设备进行反复授权的过程,节省了系统授权时间和用户操作时间,提高了 USB设备即插即用的授权效率,同时也优化了用户体验。
[0074]本发明能有多种不同形式的【具体实施方式】,上面以图1-图2为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用程序的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。
[0075]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种USB设备即插即用的授权方法,其特征在于,包括: 判断是否有USB设备插入Android设备; 当有USB设备插入Android设备时,判断插入Android设备的第一 USB设备的设备类型是否为预设的设备类型; 当所述第一 USB设备的设备类型为预设的设备类型时,为所述第一 USB设备进行系统授权并通知待访问所述第一 USB设备的应用程序。2.根据权利要求1所述的方法,其特征在于,还包括: 根据待访问所述第一 USB设备的第一应用程序的包名称,判断所述第一应用程序是否为预设的应用程序,如果是则直接授权所述第一应用程序使用所述第一 USB设备。3.根据权利要求1或2所述的方法,其特征在于,所述判断是否有USB设备插入Android设备包括: 在Android设备的系统应用程序Sys temUI中,设置一个广播接收器,并将所述广播接收器注册到主配置文件中; 根据所述广播接收器接收到的广播消息判断是否有USB设备插入Android设备。4.根据权利要求1或2所述的方法,其特征在于,所述判断插入Android设备的第一USB设备的设备类型是否为预设的设备类型包括: 获取插入Android设备的第一 USB设备的设备类型,所述设备类型包括productld、vendorld ; 将所述第一 USB设备的productlcUvendorld与预设的productld、vendorld分别进行匹配; 如果匹配一致,则所述第一 USB设备的设备类型为预设的设备类型;如果匹配不一致,则所述第一 USB设备的设备类型不是预设的设备类型。5.根据权利要求1或2所述的方法,其特征在于,设置一个包含全部预设的设备类型的白名单,当插入Android设备的USB设备的设备类型包含在所述白名单中时,为该USB设备进行系统授权并通知待访问该USB设备的应用程序。6.一种USB设备即插即用的授权系统,其特征在于,包括: 第一判断模块,用于判断是否有USB设备插入Android设备; 第二判断模块,用于当有USB设备插入Android设备时,判断插入Android设备的第一USB设备的设备类型是否为预设的设备类型; 系统授权模块,用于当所述第一 USB设备的设备类型为预设的设备类型时,为所述第一 USB设备进行系统授权并通知待访问所述第一 USB设备的应用程序。7.根据权利要求6所述的系统,其特征在于,还包括: 使用授权模块,用于根据待访问所述第一 USB设备的第一应用程序的包名称,判断所述第一应用程序是否为预设的应用程序,如果是则直接授权所述第一应用程序使用所述第一 USB设备。8.根据权利要求6或7所述的系统,其特征在于,所述第一判断模块具体用于, 在Android设备的系统应用程序SystemUI中,设置一个广播接收器,并将所述广播接收器注册到主配置文件中; 根据所述广播接收器接收到的广播消息判断是否有USB设备插入Android设备。9.根据权利要求6或7所述的系统,其特征在于,所述第二判断模块具体用于, 获取插入Android设备的第一 USB设备的设备类型,所述设备类型包括productld、vendorld ; 将所述第一 USB设备的productlcUvendorld与预设的productlcUvendorld分别进行匹配; 如果匹配一致,则所述第一 USB设备的设备类型为预设的设备类型;如果匹配不一致,则所述第一 USB设备的设备类型不是预设的设备类型。10.根据权利要求6或7所述的系统,其特征在于,设置一个包含全部预设的设备类型的白名单,当插入Android设备的USB设备的设备类型包含在所述白名单中时,为该USB设备进行系统授权并通知待访问该USB设备的应用程序。
【文档编号】G06F21/44GK105912921SQ201510757921
【公开日】2016年8月31日
【申请日】2015年11月9日
【发明人】丁然
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1