java - JNI 获取上下文

标签 java android c++ qt java-native-interface

我正在为 JNI 使用一些示例代码。

我有一个 Java 类,

public String getArtists(Context context)
...

但是,如下所示的 C++ 接口(interface)只返回一个空指针

s_getArtistsGetArtistsMethodID = env->GetMethodID(s_getArtistsClassID, "getArtists", "(Landroid/content/Context;)V");

我在这里错过了什么?下面的代码按预期工作,所以我认为它与上下文参数有关。

s_getArtistsConstructorMethodID = env->GetMethodID(s_getArtistsClassID, "<init>", "()V");

非常感谢您的帮助!

最佳答案

返回值错误。 V 是void,你返回一个字符串。尝试:

env->GetMethodID(s_getArtistsClassID, "getArtists", "(Landroid/content/Context;)Ljava/lang/String;"

关于java - JNI 获取上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301780/

相关文章:

C++,从 `int*' 到 `int' 的错误无效转换

java - 在weka java中找不到makeCopy方法的符号

java - JFrame 中的登录屏幕

Java 和 Windows?

java - JSch:从存储在 hdfs 上的私钥添加身份

android - 使用 flash 和 WebView 在 Android 中播放 RTMP 流

android - 错误地选择从侧边栏 xml 预览中删除

java - 带有 EditText 的 Android 弹出窗口、键盘 block 文本、背景滚动

c++ - type_info 成员函数如何工作?

c++ - 如何在 C++ 中以十六进制打印 '\n' 字符