在 Android 中使用 AIDL 在不同应用程序之间共享界面

问题描述 投票:0回答:1

我想在将Surface从App A发送到B后绘制矩形,所以我尝试使用AIDL。我检查了SurfaceFlinger,因为没有绘制任何内容。当我从App A绘图时,表面没有被压缩,SurfaceView和Flag(用法)与0x933相同。然而,当我通过aidl将其从A发送到B时,它被压缩并且标志(用法)为0x4000000000000b00。

我可以获取A使用的SurfaceControl并创建一个新的Surface,但我只想简单地获取Surface并使用它。如果有办法请告诉我。谢谢你。

android surface aidl
1个回答
0
投票

首先,我的问题是我忽略了将Surface传递到Native Window的部分。我对向Native Window传递Surface的部分进行了注释,并修改为传递Surface。尽管如此,我还是收到一条错误消息“已经连接到另一个 API?”这部分是通过canvasLock(null)解决的,而不是canvasHardwareLock()。

© www.soinside.com 2019 - 2024. All rights reserved.