Android程序間通訊

2021-07-16 09:40:43 字數 702 閱讀 4867

intent intent = new intent(this, test.class);  

startactivity(intent);

而跨程序訪問並不需要context物件和activity物件,但是需要指定所訪問的acitivity對應的action,有些activity還需要指定乙個uri物件,比如使用程式啟動撥號功能如下:

intent callintent = new intent(intent.action_call, uri.parse("tel:10086");  

startactivity(callintent);

contentresolver cr = getcontentresolver();

aidl(android inte***ce definition language):是android介面描述語言,也是程序間通訊的方式的一種,可以實現客戶端和服務端的程序間通訊,aidl介面使用的是直接呼叫的函式呼叫方式進行的,而且服務端並不知道多少客戶端數量,也不知道客戶端何時連線,所以服務端必須是執行緒安全的。通過aidl,可以讓本地呼叫遠端伺服器的介面就像呼叫本地介面那麼簡單,讓使用者無需關注內部細節,只需要實現自己的業務邏輯介面,內部複雜的引數序列化傳送、接收、客戶端呼叫服務端的邏輯,你都不需要去關心了。

參考**:

android 程序間通訊

跨程序通訊要求把方法呼叫及資料分解至作業系統可以識別的程度,並將其從本地程序傳輸至遠端程序。然後在遠端程序彙總重新組裝並執行該呼叫。然後,返回值將沿相反的方向傳輸回來。android為我們提供了以下幾種程序機制 this allows for the implementation of messag...

Android 程序間通訊AIDL學習

aidl android inte cedefinition language,即安卓介面定義語言,它是一種android內部程序通訊介面的描述語言,通過它我們可以定義程序間的通訊介面 ipc inter processcommunication 內部程序通訊 首先實現aidl遠端服務 1,新建as...

Android程序間通訊Binder個人理解記錄

service元件向servicemanager註冊,並實現具體業務,當有client請求時返回乙個可傳輸資料的額ibinder物件實體 client客戶端通過context.bindservice 和servicemanager通訊查詢需要呼叫的服務是否註冊。serviceconnection聯結...