У меня есть 2 отдельных приложения для Android (apk).Как пройти SurfaceHolder через AIDL?
Приложение 1 создает внутри него SurfaceView
и должно предоставить методы AIDL для других приложений, чтобы получить экземпляр SurfaceHolder
для таких SurfaceView
. Таким образом, другие приложения смогут рисовать на этом изображении, отображаемом внутри номера приложения.
Я сам смог передать Surface
через aidl, так как он реализует интерфейс Parcelable.
// IMainService.aidl
package com.commonsware.cwac.preso.demo.service;
import android.view.Surface;
interface IMainService {
Surface getSurf();
}
Но 3-й участник SDK нужно SurfaceHolder
, чтобы рисовать. Поэтому возникает вопрос: как я могу создать SurfaceHolder
для данного примера Surface
, или как я могу передать SurfaceHolder
через AIDL. Есть ли примеры того, как я могу реализовать Parcelable для SurfaceHolder
?
Мой прецедент (если его вопрос): приложение 1 начинается как Service
и рисует интерфейс на экране презентации. И мне нужен способ получить отображение других приложений. Данные навигации через Nokia Here Mobile SDK внутри приложения 1. Мне нужно SurfaceHolder
, чтобы использовать this api.
Любая помощь будет оценена по достоинству.
попробуйте расширить класс SurfaceHolder и реализовать parcelabale –
спасибо, но SurfaceHolder - это интерфейс ... так ... как мы можем сделать его понятным? или, может быть, как его создать с данной поверхности? –