2016-07-08 3 views
1

При создании сервиса по мере необходимости, surfaceView & surfaceHolder передается через намерение к сервису. Как это можно извлечь на стороне обслуживания. Пробовали это, но не смогли добиться успеха. ДЕЯТЕЛЬНОСТЬ:Извлечение поверхностиView, surfaceHolder при прохождении через замысел

intent2.putExtra("surfaceView",mSurfaceView.toString()); 
intent2.putExtra("surfaceHolder",mSurfaceHolder.toString()); 

СЕРВИС:

Object view_obj = intent.getExtras().get("surfaceView"); 
mSurfaceView = (SurfaceView) view_obj; 
Object holder_obj=intent.getExtras().get("surfaceHolder");; 
mSurfaceHolder = (SurfaceHolder) holder_obj; 

ответ

1

Вы не можете передавать любые View через Intent дополнительно. В то время как вы можете реализовать Parcelable в своей реализации SurfaceHolder, все, что вам нужно сделать, это предоставить свою услугу копияSurfaceHolder, которая не прикреплена ни к одному SurfaceView.

+0

Я пытаюсь достичь фоновой записи видео, когда мое приложение находится в фокусе. Для этого я пытаюсь передать surfaceView и surfaceHolder в свою службу, которую я создаю в каждой Деятельности. Таким образом, создание поверхностиHolder только при посадке и сохранение состояния, когда приложение переходит в фоновом режиме и восстанавливает его, когда приложение возвращается в фокус, делая его сериализуемым или выполнимым? – lancer025

+0

@ lancer025: Я понятия не имею, как выполнить то, что вы пытаетесь сделать, извините. – CommonsWare

+0

В любом случае, спасибо. ваша идея показала мне возможный путь для этого. @CommonsWare – lancer025

Смежные вопросы