我对Android编程很陌生,但熟悉C / C ++和Linux,足以编写一些东西。在我的下一个项目中,我将在Android下运行一些本机应用程序(Linux应用程序)。
我正在调用的可执行文件是使用framebuffer设备来生成屏幕输出。当我尝试只调用程序时,程序的输出会丢失,因为Android正在重绘屏幕,从而覆盖了帧缓冲区。
为了防止这种情况,我制作了一个“存根”Android程序,它实际上没有窗口设计(只是一个黑屏),但调用我的程序。这在某种程度上是有效的;然而,每当我旋转屏幕,或者一些Tattoo通知出现时,Android重新绘制屏幕,我们又回到第1帧......
因此,我想知道是否存在“低级”API或其他东西,这可能会阻止Android完全使用屏幕,只要我发布它。不久,就像一个防止手机睡眠的WakeLock,我想要一个“锁定”,它将完全锁定屏幕(帧缓冲设备)。有谁知道我怎样才能实现这样的功能?
PS:这可能与SurfaceFlinger有关,但我在某处读过它不会将任何API发布到用户级别。
答案 0 :(得分:1)
在Android上,屏幕属于SurfaceFlinger。
答案 1 :(得分:0)
我正在调用的可执行文件正在使用帧缓冲设备来生成屏幕输出。
不支持。
因此,我想知道是否存在低水平" API或其他东西,只要我发布它就可以阻止Android完全使用屏幕。
SDK或NDK级别不支持任何内容。欢迎您创建自己的自定义固件,随心所欲,并在自己的设备上加载自定义固件。
否则,请使用支持的方式与屏幕进行交互(例如,原生在C / C ++中的OpenGL)。