我会在这里为其他有同样问题的人发布答案,因为我最终找到了一种可行的方法。
在 onCreate() 方法中,如果您要设置任何特定的窗口标志(FEATURE_NO_TITLE、FLAG_FULLSCREEN、FLAG_KEEP_SCREEN_ON 等),请在调用 super.onCreate() 之前执行这些操作(否则它们将被忽略)。然后无论您通常将其放在哪里:
setContentView( whatever );
改为这样做:
getWindow().takeSurface( null );
getWindow().setContentView( whatever );
这是从 Java 端获取要控制的内容的基本方法。代码中处理内容的任何地方,使用“getWindow()”而不是“this”。
需要记住的其他一些事情是,不会调用普通的 onKey 和 onTouch 方法(它们的本地等效方法将被调用),因此如果您需要能够在 Java 端处理输入,则必须设置建立一些 JNI 链接以将信息从本机发送到 Java。我相信其他所有内容都包含在官方的 XPeria Play 触摸板示例代码中(AndroidManifest.xml 的添加和其他内容)。
如果您想查看我的项目以供参考,它是开源的,可以在以下位置找到:
http://www.paulscode.com/forum/index.php?topic=75.msg1540#msg1540
只需单击“XPeria Play 触摸板示例”旁边的“源代码”链接。不过,它可能对您没有那么有用,因为它是一个相当大的项目,可能很难找到您正在寻找的东西。如果您有任何问题,请在我的论坛上发布问题或给我发电子邮件,我将很乐意提供帮助。