深入理解JNI 邓凡平

1)使用的时候 :加载libmedia_jni.so 并接着调用JNI_Onload->register_android_media_MediaScanner动态注册JNINativeMethod数组。

2)通过JNIEnv操作object

  Java的引用类型除了少数几个外,最终在JNI层都会用jobject表述对象的数据类型,

  a)jfieldID jmethodID表示Java类的成员变量和成员函数,通过

    jfieldID GetFieldID(...)

    jmethodID GetMethodID(...)获得

    

    jclass mediaScannerClientInterface = env->FindClass("android/media/MediaScannerClient");//找到android.media.MediaScanner类在JNI层中对用的jclass实例

    mScanFileMethodID=env->GetMethodID(mediaScannerClientInterface,"scanFile","(Ljava/lang/String;JJ)V");

 

  b)mEnv->CallVoidMethod(mClient,mScanFileMethodID,XXX这里是scanFile的参数)

 

相关文章:

  • 2021-04-12
  • 2022-12-23
  • 2022-02-05
  • 2021-07-01
  • 2022-12-23
  • 2021-10-14
  • 2021-11-27
  • 2022-12-23
猜你喜欢
  • 2021-08-10
  • 2021-04-11
  • 2021-11-05
  • 2022-03-01
  • 2022-01-08
相关资源
相似解决方案