问题标签 [qandroidjniobject]
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.
java - 无法通过 QAndroidJniObject 创建 java 类
尝试从 c++ 端创建一个 java 类,但不断崩溃
appBucksAdv.java
简单JNI.hpp
简单JNI.cpp
错误消息:# W/dalvikvm(21397): dvmFindClassByName 拒绝 'org/qtproject/qt5/android/QtMessageDialogHelper'
# D/dalvikvm(21397): 试图加载 lib /data/data/org.qtproject.example.androidTest/lib/libQt5QuickParticles.so 0x4176efd0
# D/dalvikvm(21397): Shared lib '/data/data/org.qtproject.example.androidTest/lib/libQt5QuickParticles.so' 已经加载到同一个 CL 0x4176efd0
# D/dalvikvm(21397): 试图加载 lib /data/data/org.qtproject.example.androidTest/lib/libandroidTest.so 0x4176efd0
# D/dalvikvm(21397): 添加共享库 /data/data/org.qtproject.example.androidTest/lib/libandroidTest.so 0x4176efd0
# D/dalvikvm(21397): No JNI_OnLoad found in /data/data/org.qtproject.example.androidTest/lib/libandroidTest.so 0x4176efd0,跳过初始化
# W/Qt (21397): kernel/qcoreapplication.cpp:416 (QCoreApplicationPrivate::QCoreApplicationPrivate(int&, char**, uint)): WARNING: QApplication 不是在 main() 线程中创建的。
# W/dalvikvm(21397): dvmFindClassByName 拒绝 'org/qtproject/qt5/android/QtNativeInputConnection'
# W/dalvikvm(21397): dvmFindClassByName 拒绝 'org/qtproject/qt5/android/QtExtractedText'
1.完整的消息
2.代码
java - 如何使用 Qt Jni 类“QAndroidJniObject”
我是“Qt for Android”的初学者,现在我正在使用它来开发基于移动的通信软件。我开发了java函数,将android的api作为.java文档中的一个类来调用。为了简化UI开发,UI是基于Qt Widget程序。然后我使用Qt-JNI类“QAndroidJniObject”根据Qt5.2 API文档调用这些java函数。Android资源文件存放在目录:./android/src/ com/comm/sipcall/SipCallSend.java。由于这方面的资料比较少,所以我根据API文档开发了java和c++程序。但是遇到了以下问题,也希望得到答案: 1)Qt程序是基于Qt Widget。java程序需要获取当前应用程序对象Context才能初始化java对象。我开发的c++代码如下:
这是正确的吗?
2)java类包含一个构造函数和三个公共函数:
“new QAndroidJniObject”返回非空,但是下面的函数没有执行,为什么?
3) 我曾尝试将 c++ 中的 Context 作为构造函数的参数,但我发现代码没有运行,为什么?
4)根据Qt5.2 API文档,QAndroidJniObject提供了一个名为“callObjectMethod”的方法:
但是当我如下使用它时,IDE提示我参数不正确,为什么?
谢谢...
android - 如何使用 QAndroidJniObject 从 Qt 内部调用 Java 代码?
从使用 Qt Creator 创建的空 Qt for Android 项目开始,我如何执行本机 Java 代码?
例如,如果我有这个 java 方法:
我有这个应该调用该方法的 QtHelloJava.sayHello()
方法:
我应该将 Java 代码放在我的项目中的什么位置,以及该call_HelloJava_sayHello()
方法中的内容是什么?
java - How to use QAndroidJniObject to call a Intent from Java
- I want to use the rtl_tcp Driver for my App in Android to read Raw data from a usb Tv tuner.
- I found this source code https://github.com/martinmarinov/rtl_tcp_andro- and the guy has an App as driver at google play and anyone can call this App and can read raw data via tcp port.
- This is the App https://play.google.com/store/apps/details?id=marto.rtl_tcp_andro&hl=en
Now, i would like to call this drivers from my App, but i use QT. I found the classes QAndroidJNIObject to call java code. I found also at github.com/demantz/RFAnalyzer/blob/master/app/src/main/java/com/mantz_it/rfanalyzer/MainActivity.java an example in java.
But i cannot find a way to write the right code in C++/Qt to make the equal call like the example in Java. I am not sure if this java code is correct or missing something.
Can someone help me ?
Also i want to ask if i can have a tcp connection with anet.h libs from Qt code?
qt - callStaticObjectMethod 的用途是什么?
qt 文档在 QAndroidJniObject 对象中很差。callStaticObjectMethod
你能告诉我和之间有什么区别,callStaticMethod
我应该什么时候使用它们?如果您有任何工作示例,如果在您的答案中解决它们,将不胜感激。(如 Q 通知器)谢谢
android - 无法使用 Qt for Android 使手机播放声音或振动
我正在使用 QtCreator 部署一个 Android 应用程序。
我想播放声音并让手机振动以通知用户发生了不好的事情。我使用 QAndroidJniObject 来调用 SDK 函数。
我不能让任何人工作。
对于“振动”:
vibrator.callMethod
已到达(感谢Michael 的帮助),但手机没有振动(请注意,我的应用程序有android.permission.VIBRATE
)
对于“播放声音”,我尝试了两种方法:
和
在这两种情况下,都没有到达最后一个函数,因为对象无效(玩家和戒指都无效)。
android - 无法使用 QAndroidJniObject 创建 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 对象
这是我的代码,试图创建一个QAndroidJniObject来访问WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON值。
所以我这样做:
知道为什么keepAliveField=0
会在我期望的时候打印keepAliveField=128
吗?
android - 无法使用 QAndroidJniObject 调用 PowerManager.WakeLock.newWakeLock
我正在尝试执行此 Java 代码:
使用 Qt QAndroidJniObject(我正在 Android 上部署 Qt 应用程序)。
我这样做了:
从调试器检查:levelAndFlags
是正确的 (6),tag
是正确的(“我的标签”),但wakeLock.isValid()
返回 false。
这行肯定有问题:
但我想不通是什么...
java - Qt 和 Android Gallery - 使用 QAndroidJniObject 的 MediaStore
我正在编写一个需要从 Android Gallery 获取图像路径的代码。该代码是QAndroidJniObject
用来编写等效java
代码的Qt
我的问题是我没有弄清楚如何让Android MediaStore columns
返回图像路径。我尝试了几种方法都没有成功:
我怎样才能做到这一点?我的完整代码如下。
android - Android 强制 OpenCV 3.0 作为 32 位库加载
我正在尝试让我的 64 位 Android 设备编译本地 32 位 jniLibs,到目前为止一切正常,但我遇到了障碍。
几天来,我一直在研究到底出了什么问题,到处乱逛,但这是我得到的当前错误:
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/org.opencv.engine-1/lib/arm64/libopencv_java3.so" 是 64 位而不是 32 位
考虑到 64 位设备认识到它应该编译 32 位架构,这实际上是有希望的,这是我通过省略 arm64、x86_64 和 mips64 实现的,根据这个答案: Android JNI: 32-bit compatability with 64-位设备?
我使用的初始化代码是:
所以我的问题如下:
是否有某种方法可以编辑 OpenCV 3.0 中包含的 Abi,以识别我只希望在设备识别它应该只搜索 32 位框架之后加载 32 位框架?
恢复到 OpenCV 2.4.11 后功能丢失会更糟吗(我知道本机相机在新框架上无法正常工作)
如果 Abi 的答案是正确的,它将对应于应用程序级别、项目级别或其他(可能是 opencvlib)级别的 gradle 构建吗?那部分在我的脑海中浮现,阅读了另一个答案。