问题标签 [native-activity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
414 浏览

android - 我可以将 NativeActivity 与 ActivityGroup 一起使用吗?

我知道ActivityGroup已弃用。

但我正在尝试将用户界面NativeActivty与一些 Java/Android API结合起来View

我正在尝试制作一个混合用户界面,其中一部分屏幕来自NativeActivity.

我使用了这个例子并尝试ActivityGroup了一些简单的活动。

这适用于任何Activity(即使我使用 VideoView 播放视频)。

但是当我尝试加载NativeActivity它时不起作用。(我从 NDK 示例中尝试了Teapot 演示)。

“不工作”是指 window.getDecorView()从本机活动中它总是返回透明视图,而不是实际的内容视图。

我该怎么做?请帮我。

0 投票
1 回答
761 浏览

java - 在 NativeActivity 上显示 Android PopupWindow

我正在尝试在使用 NDK 和 SDL 移植的 Android 游戏中实现 AdMob。我一直在关注这个例子但是当我调用 showAdPopup 时,我的游戏的 Activity 似乎被破坏了,我留下了一个空白的灰色屏幕,底部有一个广告。显示弹出窗口时,日志似乎显示我的活动已暂停。

我已经注释掉了所有的 admob 代码,看来问题是可以通过尝试在我的 NativeActivity 上创建一个 PopupWindow 来重现的。我注意到这里有一个示例应用程序它的代码与我的几乎相同,但是该示例在以后的版本中从 SDK 中消失了(我的目标是 android-19)。

有谁知道为什么当我尝试启动弹出窗口时我的本地活动似乎暂停/关闭?android-19 中是否发生了一些变化,阻止了这种方法的工作?

0 投票
1 回答
3935 浏览

android - 如何将物理 Android 设备添加到 Visual Studio 2015 预览版

我已经安装了 Visual Studio 2015 Preview 并开始了新的项目 - Naive Activity Application (Android)。我想在物理设备上运行应用程序,但目标中只有模拟器。我可以从一些屏幕截图中看到这是可能的,但我找不到正确的方法。

如何将物理 Android 设备设置为目标?

0 投票
2 回答
956 浏览

android - 带有 java 类的本机应用程序。无法从java调用本机代码

在本机活动的情况下,我想从 java 调用本机代码。

假设我在engine.so 中有游戏引擎。现在我想添加语音识别。我添加了 java wrapper-class 并通过 jni 从本机代码开始语音识别。我想将结果返回到本机端。在 jni 示例之后,我在 java 类中声明了本机方法,并在识别完成时调用它:

我在engine.so中实现了这个方法。当然,我不会使用 System.loadLibrary 加载 engine.so,因为它已经加载了。但是java代码没有看到方法实现,报:

nm 实用程序显示 engine.so 包含Java_com_company_appname_SpeechRecognizerWrapper_onSpeechRecognized
使用 javah 生成的签名。
我的安卓.mk

那么为什么java端看不到本机端实现呢?

0 投票
1 回答
830 浏览

java - NativeActivity 覆盖 onKeyDown()

我正在处理的子类有问题NativeActivity,我的目标是从 Java 代码而不是本机代码中捕获和处理关键事件(这主要是因为这个),不幸的是Log()onKeyDown尽管 onCreate()正在打印日志,并且我在本机代码中放置的日志打印也是如此。似乎onKeyDown我的NativeActivity子类从未被调用过。

任何想法?

0 投票
1 回答
1615 浏览

android - 是否需要显式调用 system.loadLibrary 才能访问 NativeActivity 子类中的本地方法?

我有一个从 NativeActivity 派生的活动的 Android 应用程序,如下所示:

在 C/C++ 方面,我有

libMyNatAct.so 库由 NativeActivity 类自动加载,实际上是 android_main() 并且无论是否使用 system.loadLibrary() 行,一切都可以正常运行。但是,永远不会调用 JNI_OnLoad(),并且 TellNativeSide() 方法在 Java 端也不可用,除非

call 存在于静态类初始化块中。

所以似乎本机 .so 必须加载两次。一次在 init 块中使所有本机方法可用并调用 JNI_OnLoad(),另一次由 NativeActivity 类而不是通过 system.loadLibrary()?

这是正确的行为吗?

0 投票
0 回答
297 浏览

android - 如何在本机活动中找到所有连接的输入设备?

在我的 android 本机活动中,我想找到所有连接到 android 设备的游戏控制器。

在 input.h 中,AInputEvent_getDeviceId() 上方有一条注释说

有谁知道评论指的是哪个“提供的输入设备查询API”?

如果我找不到所有连接的设备,那么也许我可以等到按下 AKEYCODE_BUTTON_START,然后将该设备分配为 Player1 ...

谢谢!

0 投票
1 回答
430 浏览

android - 在 Android 上使用 gles 2.0\egl\native 活动时没有绘制任何内容

基本上我有一个非常简单的着色器在 GLES 2.0 上绘制一个非常原始的正方形,着色器编译和加载正确,而且我没有 glErrors。我可以通过使用 glClear 来显示 glClearColor,但没有绘制任何其他内容。我已与 GLESv2 链接并包含两者<GLES2/gl2.h><GLES2/gl2ext.h>

这是我的 EGL 初始化代码:

这是我的渲染循环,包括 egl 交换缓冲区:

0 投票
2 回答
1245 浏览

android - Can't open obb file although it is there

I'm trying to mount an obb file but

says it doesn't exist (or I can't access it). When looking via adb shell the file is located here:

Do I need to give my app some special permission?

0 投票
1 回答
409 浏览

android - android dlopen()中的竞争条件?

我的 Android 应用程序有一个简单的“加载器”NativeActivity,它非常简单android_main(),它只加载不同的共享对象并将控制权传递给它:

这很好用..大约一半的时间。其他时候它会因为dlopen()失败而崩溃并返回 NULL 并且 errno=2 (没有这样的文件)。
由于此事件的奇怪不一致,我怀疑是时间问题,实际上,添加一个sleep(1)beforedlopen()阻止了它的发生。sleep(1)比在循环中尝试更强大的东西:

我从这个循环中获得的计数通常在我的设备上的 10-70 范围内。但这是一个骇人听闻的丑陋解决方案。

这里到底发生了什么?为什么我只能在 NativeActivity 启动后稍微加载其他共享对象?有没有更好的方法来确定何时可以安全加载它?

应该注意的是,我也是System.loadLibrary("main")从我的 NativeActivity 调用的onCreate()