我有2個單獨的Android應用程序(apk)。如何通過AIDL傳遞SurfaceHolder?
應用1創建SurfaceView
裏面,並應提供用於其他應用AIDL方法來獲得的SurfaceHolder
一個實例爲這樣SurfaceView
。因此,其他應用程序將能夠在該視圖上繪製,顯示在應用程序編號1內。
由於它實現了Parcelable接口,我能夠通過aidl輕鬆轉移Surface
本身。
// IMainService.aidl
package com.commonsware.cwac.preso.demo.service;
import android.view.Surface;
interface IMainService {
Surface getSurf();
}
但是第三方sdk需要SurfaceHolder
來借鑑。所以問題是 - 如何爲給定的Surface
實例創建SurfaceHolder
,或者如何通過AIDL傳輸SurfaceHolder
。有沒有例子說明我可以如何爲SurfaceHolder
實現Parcelable?
我的用例(如果有問題):應用程序1以Service
開頭並在Presentation Screen上畫UI。我需要一種方式讓應用程序1中的其他應用程序通過Nokia Here Mobile SDK顯示導航數據。我需要SurfaceHolder
才能使用this api。
任何幫助將不勝感激。
嘗試擴展SurfaceHolder類並實現parcelabale –
謝謝,但SurfaceHolder是一個接口...所以...我們如何使它可以進行parcelable?或者如何從給定的表面創建它? –