J'essaie de diffuser des données à partir d'un ordinateur portable au code natif dans un téléphone android . suis capable de jumeler avec un ordinateur portable et d'obtenir des données pendant un certain temps, mais les accidents de code natif avec le message suivant plus tard:Bluetooth transfert de PC à Android via RFCOMM
« a échoué à ajouter JNI table ref tableau épinglé ».
Extrait de code:
// code Java pour lire Bluetooth gestionnaire
cas MESSAGE_READ:
byte [] readBuf = (byte []) msg.obj;
// Envoie les données dans le tampon au code natif sendData (readBuf, msg.arg1);
................................................ ........................
// Code C:
... sendData (JNIEnv * env, jclass cl, jbyteArray arr , la taille de JINT)
{ .....
jbyte buffer = (jbyte) env-> GetByteArrayElements (arr, & isCopy);
.... // copie le tampon dans une variable locale.
if (isCopie == JNI_TRUE) {
env-> ReleaseByteArrayElements (arr, buffer, JNI_ABORT);
}
Quoi de mal? J'utilise déjà un code similaire pour le transfert de tableaux entre Java et C ailleurs dans le code, et cela fonctionne très bien.