It's a long time since I did any JNI so this advice may not be correct but it looks to me like you aren't setting the h array correctly. I think you need to assign a new object array of type string to h ie:

Code:
fid1 = (*env)->NewObjectArray(env, 2, env->FindClass("java/lang/String"), NULL);
and fill it from str ie
Code:
(*env)->SetObjectArrayRegion(env, fid1, 0, 2, str);