私はグーグルネクサスのnfc機能を使用してRFカードに基づいてプログラムを開発しています。これが私のメソッドです。問題はデータオブジェクトだと思います
unsigned char *CNFCFunList::jbyteArray2Byte(jbyteArray data, int *outLen)
{
LOGI("jbyteArray2Byte begin");
if (data == NULL)
{
LOGI("data is NULL");
return 0;
}
jsize size = m_pJNIEnv->GetArrayLength(data);
LOGI("GetArrayLength begin %d",size);
//LOGI("GetByteArrayElements begin,data length = %d",env->GetArrayLength(data));
jbyte * olddata = (jbyte*)m_pJNIEnv->GetByteArrayElements(data, 0);
jsize oldsize = m_pJNIEnv->GetArrayLength(data);
unsigned char* bytearr = (unsigned char*)olddata;
*outLen = (int)oldsize;
return bytearr;
}
しかし、JNI警告が表示されます:Lcom / uai / jni / ...;(J [BJI)(GetArrayLength)保留中の例外で保留中の例外で呼び出されたJNIメソッドは次のとおりです。
また、私は例外を取得します
I/dalvikvm(5836): java.io.IOException: Transceive failed
11-23 10:19:35.269: I/dalvikvm(5836): at android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:52)
11-23 10:19:35.269: I/dalvikvm(5836): at android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)
11-23 10:19:35.269: I/dalvikvm(5836): at android.nfc.tech.IsoDep.transceive(IsoDep.java:172)
11-23 10:19:35.269: I/dalvikvm(5836): at com.uai.jni.libUai.uaiGenKeyPair(Native Method)
11-23 10:19:35.269: I/dalvikvm(5836): at