一種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日
【發明人】丁然
【申請人】樂視致新電子科技(天津)有限公司