Android jni CallStaticObjectMethod всегда возвращает NULL, но не NULL в коде Java - PullRequest
0 голосов
/ 17 октября 2018

Мне нужно получить MAC-адреса на устройствах Android, и я нашел способ в Java:

Enumeration<NetworkInterface> interfaces = null;
try {
    interfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
    e.printStackTrace();
}

, но когда я назвал его родным способом, это не удалось:

jclass netinterfaceclazz = env->FindClass("java/net/NetworkInterface");
jmethodID getNetworkInterfaces = env->GetStaticMethodID(netinterfaceclazz, "getNetworkInterfaces","()Ljava/util/Enumeration;");
jobject interfaces =  env->CallStaticObjectMethod(netinterfaceclazz,getNetworkInterfaces);

рабочие интерфейсы всегда имеют значение NULL, и я не понимаю.

java / util / Enumeration - это интерфейс Java, а не класс Java.

...