Intent元件的安全機制

2021-08-13 14:44:04 字數 1091 閱讀 3390

1) intent和intentfilter簡介

intent(意圖)本身是乙個包含被執行操作抽象描述的被動的資料結構,對於廣播而言,是某件已經發生並被宣告的事件的描述。在android系統中,存在如下幾種不同的機制來傳送intent到每種元件中。

(1) 乙個intent物件傳遞給context.startactivity()或context.startactivityforresult()以啟動乙個活動,或者讓乙個存在的activity去做某些事情。

(2)乙個intent物件是傳遞給context.startservice()來發起乙個服務或者遞交新的指令給執行中的服務。乙個intent能被傳遞給context.binderservice(),在呼叫元件和乙個目標服務之間建立連線。

(3) 傳遞給任意廣播方法(context.sendbroadcast()等)的intent物件被傳遞給所有感興趣的廣播接收者。

2) intent元件的通訊安全機制

在android系統中,應用程式中的activity、service、broadcast receiver等元件之間需要通過intent元件進行通訊,元件之間的通訊需要在檔案androidmanifest.xml中暴露元件,但是很多風險就是由於不恰當的元件暴露引起的。

在android系統中有兩種使用intent的用法的:

①顯式的intent,即在構造intent物件時就指定接收者;

②隱式的intent,即intent的傳送者在構造intent物件時無需知道也無需關心接收者是誰,這有利於降低傳送者和接收者之間的耦合。

3)設定元件的訪問許可權

在android系統中可以設定呼叫元件或公開的廣播、服務的許可權,設定許可權的方式有如下三種:

①在被呼叫的元件中新增android:permission屬性,例如:

android:permission="com.socsi.permission"

②宣告屬性,例如:

android:label="test"

android:name="com.socsi.permission"

android:protectionlevel="normal">

③呼叫元件者宣告,例如:

Android的元件通訊 intent

元件要通過intent宣告自己的條件,一般通過元件的元素來實現.intent可以啟動乙個activity,可以啟動乙個service,也可以發起乙個廣播 broadcast intent由以下幾個部分組成 動作 action 資料 data 分類 category 型別 type 元件 compon...

Android下的intent機制

在android中提供了intent機制來協助應用間的互動與通訊,intent負責對應用中一次操作的動作 動作涉及資料 附加資料進行描述,android則根據此intent的描述,負責找到對應的元件,將 intent傳遞給呼叫的元件,並完成元件的呼叫。intent不僅可用於應用程式之間,也可用於應用...

Intent元件之間實現通訊

intent 意圖 常見的就是用來繫結應用程式元件,並在應用程式間進行 通訊.一般用於啟動activity 啟動服務 傳送廣播 承擔三大元件之間的通訊 啟動元件常用方法 對activity startactivity intent intent startactivityforresult inte...