1
我想使用C的ANDROID SharedPreferences为了更容易的使用,我有一个类和一些方法(getIniParamInt,getIniParamString等)。在JAVA中工作正常。CallIntMethod result -1 - ANDROID JNI
的问题是,如果我调用该方法从JNI它发送回-1至C的我的JAVA代码 零件(简化试验,SharedPref除去等。):
public class IniManipulate {
public int getIniParamInt(String mezoNev)
{return 999;} // settings.getInt("abc", -9999);
C代码:
const char* paramOut
paramOut = "abc";
jmethodID mid = (*env)->GetMethodID(env,cls1,"getIniParamInt","(Ljava/lang/String;)I");
if (mid == NULL) {cDebug1 = 888;return; }
jstring* parameter = (*env)->NewStringUTF(env, paramOut);
if (parameter == NULL) {return;}
jint paramInt = (jint) (*env)->CallIntMethod(env,thiz, mid, parameter);
cDebug1 = (int)paramInt;
总是以paramInt = -1返回;而不是999;
我已经挖掘了整个网络,我找不到解决方案。 你能帮我吗,CallIntMethod调用有什么问题? 谢谢!