【问题标题】:Extracting surfaceView, surfaceHolder when passed through intent通过intent时提取surfaceView、surfaceHolder
【发布时间】:2016-07-08 23:12:16
【问题描述】:

根据需要创建服务时,surfaceView 和 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;

【问题讨论】:

    标签: android android-service


    【解决方案1】:

    您不能通过额外的Intent 传递任何View。虽然您可以在您的SurfaceHolder 实现上实现Parcelable,但您所做的只是为您的服务提供SurfaceHolder副本,它不附加到任何SurfaceView。 p>

    【讨论】:

    • 每当我的应用程序处于焦点时,我都会尝试实现后台视频录制。为此,我一直在尝试将 surfaceView 和 surfaceHolder 传递给我在每个 Activity 中创建的服务。因此,让 surfaceHolder 仅在登陆活动中并在应用程序进入后台时保存其状态,并在应用程序重新获得焦点时通过使其可序列化或可打包来恢复它?
    • @lancer025:对不起,我不知道如何完成你想做的事情。
    • 无论如何,谢谢。你的想法向我展示了实现这一目标的可能途径。 @CommonsWare
    猜你喜欢
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多