我知道 ActivityGroup
已被弃用。
但我正在尝试将 NativeActivty
的用户界面与一些 Java/Android API View
结合起来。
我正在尝试制作一个混合用户界面,其中屏幕的一部分来自 NativeActivity
。
I used this example并尝试使用 ActivityGroup
进行一些简单的 Activity 。
这与任何 Activity
完美配合(即使我使用 VideoView 播放视频)。
但是当我尝试加载 NativeActivity
时它不起作用。 (我从 NDK 示例中尝试了 Teapot demo )。
我所说的“不工作”是指 window.getDecorView()
来自 native Activity ,它始终返回透明 View ,而不是实际内容 View 。
我应该怎么做?请帮助我。
最佳答案
这次我找到了解决方法,并且工作正常。但仅用于 ndk 演示。
在您的 ActivityGroup 子类的 onCreate 方法上,编写以下代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LocalActivityManager lam = getLocalActivityManager();
Intent intent = new Intent();
intent.setClass(this, TeapotNativeActivity.class);
Window window = lam.startActivity("xxx", intent);
// reflect call "willYouTakeTheSurface"
NativeActivity callback = JavaCalls.callMethod(window.getDecorView(), "willYouTakeTheSurface");
if (callback != null) {
window.takeSurface(null);
getWindow().takeSurface(callback);
getWindow().takeInputQueue(callback);
}
setContentView(window.getDecorView());
}
关于android - 我可以将 NativeActivity 与 ActivityGroup 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26217400/