Мне нужно реализовать встроенную функцию в приложении для Android.Реализовать собственную функцию Android APP и C
Функция:
public native int RFIDPower (String path, String data);
public void RFIDPowerEnable(boolean isEnable){
String path = "/dev/RFID_enable";
if (isEnable)
RFIDPower(path, “1”);
else
RFIDPower(path, “0”);
}
И это код C:
JNIEXPORT jint JNICALL Java_com_winmate_demo_main_RFIDPower (JNIEnv * env, jobject thiz, jstring path, jstring data)
{
int fd = 0;
const char *cPath, *cData;
if (path == NULL) return -1;
// Convert jstring to char pointer
cPath = (*env)->GetStringUTFChars(env, path, NULL);
cData = (*env)->GetStringUTFChars(env, data, NULL);
// Open node “/dev/RFID_enable”
fd = open(cPath, O_WRONLY | O_NOCTTY | O_NDELAY | O_NONBLOCK);
if (fd < 0) {
(*env)->ReleaseStringUTFChars(env, path, cPath);
(*env)->ReleaseStringUTFChars(env, data, cData);
return -1;
}
write(fd, cData, strlen(cData));
(*env)->ReleaseStringUTFChars(env, path, cPath);
(*env)->ReleaseStringUTFChars(env, data, cData);
close(fd);
return 0;
}
И в чем ваша проблема? Это рушится? Не рушится, но не работает? Что он должен делать? –
Я понятия не имею, как реализовать код C в моем проекте android. – Andrea
Но у вас уже есть код C. Так в чем проблема? – Michael