我在系統應用程序中有一個服務。我希望沒有系統權限的客戶端應用程序能夠調用服務中的功能來執行需要系統權限的事情。由於該服務位於其自己的應用程序中,因此我使用AIDL爲服務和客戶端應用程序之間的IPC定義接口。Android服務AIDL數據類型
我希望讓客戶端應用程序的人員能夠編寫自己的需要系統權限的代碼,併爲我提供包含在我的服務中的代碼。因此,我的服務將收到一個通用請求,指明將請求傳遞到的位置以及請求本身。
因爲我不知道客戶端需要將哪些數據傳入/傳出到自己的代碼中,所以我想使用通用接口來處理它們可能需要的任何類型的數據。我需要的功能添加到AIDL接口爲每個數據類型:
void doStuff(in String inStr, out String outStr);
void doStuff(in int inInt, out int outInt);
等等
它會更好,使我自己parcelable對象?用AIDL處理這個問題的最佳方法是什麼?
感謝您的輸入,但它並沒有真正回答我如何處理數據類型和參數數量未知的接口的問題。 –
您可以使用Bundle作爲變量類型。 –
捆綁應該工作,謝謝。 –