>
學(xué)校機(jī)構(gòu) >
科迅教育 >
學(xué)習(xí)資訊>
南通Android開(kāi)發(fā)培訓(xùn)哪家機(jī)構(gòu)更好
南通Android開(kāi)發(fā)培訓(xùn)哪家機(jī)構(gòu)更好
86 2020-04-16
南通Android開(kāi)發(fā)培訓(xùn)哪家機(jī)構(gòu)更好 Android應(yīng)用程序通常通過(guò)Broadcast Receiver來(lái)監(jiān) 聽(tīng)廣播消息。在接收即時(shí)消息的客戶端中,Service在后臺(tái)運(yùn)行,一旦檢測(cè)到有新消息到來(lái),立刻通過(guò)Broadcast Intent通知前臺(tái)的組件做出相應(yīng)處理。廣播發(fā)送方通常會(huì)選擇給每個(gè)發(fā)送的Broadcast Intent授予Android權(quán)限,而接收方不但需要有符合接收條件的Intent filter,而且要求Broadcast Receiver也必須具備特定權(quán)限才可以接收此消息。這種機(jī)制是經(jīng)發(fā)送方來(lái)限定接收方Receiver的接收權(quán)限的。反過(guò)來(lái),也可以由接收方Broadcast Receiver來(lái)限定所能接收的Broadcast Intent類型。
總之,Broadcast Intent可以從發(fā)送和接收兩方加以保護(hù),發(fā)送方通過(guò)為Broadcast Intent設(shè)置權(quán)限,確保該Broadcast Intent只允許被授權(quán)的Broadcast Receiver接收,以防止將Broadcast Intent誤傳給危險(xiǎn)的接收方。反之,接收方Receiver也可以為自己設(shè)定訪問(wèn)權(quán)限,要求所接收的Broadcast Intent必須具備所設(shè)權(quán)限,防止誤收到危險(xiǎn)的Broadcast Intent。兩者結(jié)合使用,才能確保組件能安全地接收發(fā)送方信息。
根據(jù)以上組件所暴露出的問(wèn)題,開(kāi)發(fā)者應(yīng)該謹(jǐn)慎地考慮啟動(dòng)Activity的權(quán)限,只有具備訪問(wèn)權(quán)限的組件才能夠啟動(dòng)相應(yīng)的Activity。對(duì)于Service,由于Service組件在后臺(tái)運(yùn)行,提供了其它組件需要訪問(wèn)的服務(wù),這可能涉及敏感數(shù)據(jù)的操作,對(duì)此應(yīng)采取相應(yīng)的權(quán)限控制,確保僅有授權(quán)的應(yīng)用程序才能訪問(wèn)該Service。另外,如果Service支持綁定并且允許應(yīng)用程序調(diào)用Service所提供的方法,那么要在程序中為這些方法添加權(quán)限檢測(cè),以控制對(duì)方法的訪問(wèn)。
南通Android開(kāi)發(fā)培訓(xùn)哪家機(jī)構(gòu)更好 對(duì)于Content Provider,應(yīng)當(dāng)設(shè)置獨(dú)立的只讀/只寫(xiě)權(quán)限,任何請(qǐng)求訪問(wèn)Content Provider的組件應(yīng)該被授予正確的權(quán)限,要防止授予任何不必要的額外權(quán)限。Broadcast Receiver是組件間通信的關(guān)鍵技術(shù),一方面Broadcast的發(fā)送方可以要求接收方具備某種權(quán)限才能接收Broadcast,另一方面,接收方Broadcast Receiver 也可以設(shè)定只接收來(lái)自具備特定權(quán)限的發(fā)送方的Broadcast,也就是只接收可信賴發(fā)送方發(fā)送的Broadcast。當(dāng)使用Broadcast作為敏感數(shù)據(jù)的通信方式時(shí),發(fā)送方和接收方都應(yīng)該提供安全保障。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號(hào)
獵學(xué)網(wǎng)服務(wù)號(hào)