3
在我的android应用程序中需要访问两个应用程序之间的共享内存,我知道android内核并不像Linux内核那样实现共享内存的概念,所以我选择了android中的共享偏好但我需要通过JNI来实现这个不是Java的部分我试图创建JNI共享的偏好,但我不能让它正确 这是我的代码Android:jni中的共享偏好
JNIEXPORT jlong JNICALL Java_com_sharedpref1_test_savevalue
(JNIEnv *env, jobject ctx, jstring store, jstring key, jlong value);
jobject shared_preferences = (*env)->CallObjectMethod(env, ctx, (*env)->GetMethodID(env (*env)->FindClass(env, "android/content/Context"), "getSharedPreferences", "(L/java/lang/String;I)Landroid/content/SharedPreferences;"),
jstore,
1);
jobject preferences_editor = (*env)->CallObjectMethod(env, shared_preferences, (*env)->GetMethodID(env,
(*env)->FindClass(env, "android/content/SharedPreferences"), "editor", "()Landroid/content/SharedPreferences$Editor;"));
(*env)->CallObjectMethod(env, preferences_editor, (*env)->GetMethodID(env,
(*env)->FindClass(env, "android/content/SharedPreferences/Editor"), "putLong", "(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor;"),
jkey,
value);
}
可以在任何知道如何做共享偏好JNI上机器人。
你有没有找到任何方式做相同的共享首选项对象创建在C + + ndk,我也面临同样的问题,如果你找到了请更新我 –