我正嘗試將數據從筆記本電腦流到android 手機中的本地代碼。 我能夠與筆記本電腦配對,併爲找個時間數據,但本地 代碼崩潰,並顯示以下消息後:通過RFCOMM從個人電腦到Android的藍牙傳輸
「未能增加JNI固定數組引用表」。
代碼片斷:
//藍牙Java代碼讀處理程序
情況MESSAGE_READ:
字節[]的ReadBuf =(字節[])msg.obj;
//將緩衝區中的數據發送到本地代碼 sendData(readBuf,msg.arg1);
................................................ ........................
// C代碼:
... sendData(JNIEnv * env,jclass cl,jbyteArray arr ,jint大小)
{
.....
jbyte 緩衝液=(jbyte)env-> GetByteArrayElements(ARR,& isCopy);
.... //將緩衝區複製到局部變量。
if(isCopy == JNI_TRUE){
env-> ReleaseByteArrayElements(arr,buffer,JNI_ABORT);
}
什麼可能是錯的? 我已經在代碼中的其他地方使用Java和C 之間的數組傳輸使用類似的代碼,並且工作正常。