问题标签 [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.
android - 我可以将 NativeActivity 与 ActivityGroup 一起使用吗?
我知道ActivityGroup
已弃用。
但我正在尝试将用户界面NativeActivty
与一些 Java/Android API结合起来View
。
我正在尝试制作一个混合用户界面,其中一部分屏幕来自NativeActivity
.
我使用了这个例子并尝试ActivityGroup
了一些简单的活动。
这适用于任何Activity
(即使我使用 VideoView 播放视频)。
但是当我尝试加载NativeActivity
它时不起作用。(我从 NDK 示例中尝试了Teapot 演示)。
“不工作”是指 window.getDecorView()
从本机活动中它总是返回透明视图,而不是实际的内容视图。
我该怎么做?请帮我。
java - 在 NativeActivity 上显示 Android PopupWindow
我正在尝试在使用 NDK 和 SDL 移植的 Android 游戏中实现 AdMob。我一直在关注这个例子,但是当我调用 showAdPopup 时,我的游戏的 Activity 似乎被破坏了,我留下了一个空白的灰色屏幕,底部有一个广告。显示弹出窗口时,日志似乎显示我的活动已暂停。
我已经注释掉了所有的 admob 代码,看来问题是可以通过尝试在我的 NativeActivity 上创建一个 PopupWindow 来重现的。我注意到这里有一个示例应用程序,它的代码与我的几乎相同,但是该示例在以后的版本中从 SDK 中消失了(我的目标是 android-19)。
有谁知道为什么当我尝试启动弹出窗口时我的本地活动似乎暂停/关闭?android-19 中是否发生了一些变化,阻止了这种方法的工作?
android - 如何将物理 Android 设备添加到 Visual Studio 2015 预览版
我已经安装了 Visual Studio 2015 Preview 并开始了新的项目 - Naive Activity Application (Android)。我想在物理设备上运行应用程序,但目标中只有模拟器。我可以从一些屏幕截图中看到这是可能的,但我找不到正确的方法。
如何将物理 Android 设备设置为目标?
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端看不到本机端实现呢?
java - NativeActivity 覆盖 onKeyDown()
我正在处理的子类有问题NativeActivity
,我的目标是从 Java 代码而不是本机代码中捕获和处理关键事件(这主要是因为这个),不幸的是Log()
,onKeyDown
尽管
onCreate()
正在打印日志,并且我在本机代码中放置的日志打印也是如此。似乎onKeyDown
我的NativeActivity
子类从未被调用过。
任何想法?
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()?
这是正确的行为吗?
android - 如何在本机活动中找到所有连接的输入设备?
在我的 android 本机活动中,我想找到所有连接到 android 设备的游戏控制器。
在 input.h 中,AInputEvent_getDeviceId() 上方有一条注释说
有谁知道评论指的是哪个“提供的输入设备查询API”?
如果我找不到所有连接的设备,那么也许我可以等到按下 AKEYCODE_BUTTON_START,然后将该设备分配为 Player1 ...
谢谢!
android - 在 Android 上使用 gles 2.0\egl\native 活动时没有绘制任何内容
基本上我有一个非常简单的着色器在 GLES 2.0 上绘制一个非常原始的正方形,着色器编译和加载正确,而且我没有 glErrors。我可以通过使用 glClear 来显示 glClearColor,但没有绘制任何其他内容。我已与 GLESv2 链接并包含两者<GLES2/gl2.h>
和<GLES2/gl2ext.h>
这是我的 EGL 初始化代码:
这是我的渲染循环,包括 egl 交换缓冲区:
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?
android - android dlopen()中的竞争条件?
我的 Android 应用程序有一个简单的“加载器”NativeActivity,它非常简单android_main()
,它只加载不同的共享对象并将控制权传递给它:
这很好用..大约一半的时间。其他时候它会因为dlopen()
失败而崩溃并返回 NULL 并且 errno=2 (没有这样的文件)。
由于此事件的奇怪不一致,我怀疑是时间问题,实际上,添加一个sleep(1)
beforedlopen()
阻止了它的发生。sleep(1)
比在循环中尝试更强大的东西:
我从这个循环中获得的计数通常在我的设备上的 10-70 范围内。但这是一个骇人听闻的丑陋解决方案。
这里到底发生了什么?为什么我只能在 NativeActivity 启动后稍微加载其他共享对象?有没有更好的方法来确定何时可以安全加载它?
应该注意的是,我也是System.loadLibrary("main")
从我的 NativeActivity 调用的onCreate()