2013-03-25 64 views
0

在AIDL指南(http://developer.android.com/guide/components/aidl.html)中提到所有基元都是「in」參數。但是,我想創建一個參數,它是一個原始參數,它是一個「out」變量,即服務器將爲我設置它。AIDL - 基元作爲輸出參數

除了創建我自己的Parcelable原語並自己完成所有工作外,是否有解決此問題的方法?我已經試過元(整數,布爾等)的版本的類和那些似乎不工作:(

感謝, Ĵ

回答

1

AIDL在進程間允許的(服務器可能在另一個應用程序中完全運行在另一個虛擬機上),所以你不能發送任何不能實現可解析的任何東西,除了那些Google專門包含的東西(比如列表)。並且由於Java只是爲原始數據傳遞值,可能的解決方法是使用值列表作爲輸出參數,但我不確定它會起作用(從未嘗試過),但編寫一個簡單的自己的包裝並不難。

0

其他一些選項:

1)如果你只需要設置一個參數,你可以只返回參數

2)定義在其中返回參數的回調函數