私は2つの別のAndroidアプリ(apk)を持っています。AIDL経由でSurfaceHolderを渡すには?
App1はSurfaceView
を作成し、SurfaceView
の場合はSurfaceHolder
のインスタンスを取得するAIDLメソッドを提供する必要があります。したがって、他のアプリはそのビューを描画することができます。
Surface
は、Parcelableインターフェイスを実装しているので、簡単にaidl経由で転送できました。
// IMainService.aidl
package com.commonsware.cwac.preso.demo.service;
import android.view.Surface;
interface IMainService {
Surface getSurf();
}
しかし、サードパーティのSDカードには、SurfaceHolder
が必要です。だから質問は - 与えられたSurface
インスタンスのためにSurfaceHolder
を作成するにはどうすればいいですか、またはSurfaceHolder
をAIDL経由で転送するにはどうすればいいですか? SurfaceHolder
のParcelableを実装する方法の例はありますか?
私のユースケース(その問題の場合):アプリケーション1つの開始Service
などとプレゼンテーション画面上のUIを描きます。そして、アプリ1の中にNokia Here Mobile SDKを使って別のアプリにナビゲーションデータを表示させる方法が必要です。 apiを使用するにはSurfaceHolder
が必要です。
ご協力いただければ幸いです。
SurfaceHolderクラスを拡張しようとすると、実装parcelabaleに –
おかげで、しかしSurfaceHolderはどのように我々はそれがparcelable作ることができるインターフェイスである...そう...?または与えられた表面からそれを作成する方法かもしれませんか? –