我想從statusbarService.java中獲取通知展開視圖,並通過aidl服務將其傳遞給另一個應用程序。如何通過aidl傳遞視圖實例
-frameworks/base/services/java/com/android/server/status/StatusBarService.java
private void makeStatusBarView(Context context) {
Resources res = context.getResources();
mRightIconSlots = res.getStringArray(com.android.internal.R.array.status_bar_icon_order);
mRightIcons = new StatusBarIcon[mRightIconSlots.length];
**ExpandedView expanded** = (ExpandedView)View.inflate(context,
com.android.internal.R.layout.status_bar_expanded, null);
}
我想這個「擴展」視圖實例通過服務來存儲並把它傳遞給任何人誰通過AIDL結合的服務。
我寫了一個服務類。但我不知道如何將此視圖傳遞給服務實例。 要綁定到服務,它必須是活動或服務。 StatusBarService.java不是兩者都有。所以我不知道如何將這個視圖實例傳遞給一個服務。
假設如果以某種方式將視圖實例傳遞給服務,我需要通過aidl將視圖實例傳遞給綁定它的任何人。所以我知道我需要編寫一個parcelabale類,它將View作爲成員並返回parcelable類實例。
我不知道如何通過parcel編寫視圖實例。有什麼建議麼? 我認爲可以使用字節數組。任何人都知道如何轉換視圖實例並寫入字節數組?
你有沒有試圖返回你需要的視圖,並在您的活動只是設置視圖像往常一樣設置數據?因此,你避免通過視圖。據我所見,你只需要返回資源,對吧? – 2011-09-04 17:14:15