gpt4 book ai didi

java - 热敏打印机仅在设置断点时打印

转载 作者:行者123 更新时间:2023-11-30 01:44:26 24 4
gpt4 key购买 nike

我正在尝试使用热敏打印机打印收据。

    printer mprinter = new printer();
mprinter.Open();
mprinter.SetPrintMode(1);
/*Some code */
mprinter.Write(byteData);
mprinter.Close();

当我在 mprinter.Close();(或其他地方)附近设置断点时,一切正常。如果我重置断点热敏打印机什么都不打印。为什么会这样?

我的原生函数:

   JNIEXPORT jint JNICALL Java_aclasdriver_printer_Open(JNIEnv *env, jobject thiz)
{
if(openflag < 0)
{
openflag = open(DEV_PRINTER_NAME, O_RDWR);
}

return openflag;
}

JNIEXPORT jint JNICALL Java_aclasdriver_printer_Write(JNIEnv *env, jobject thiz, jbyteArray wrbuf)
{
jbyte *pwrbuf;
int ret;
int wrlen;
int i;

if(openflag < 0)
{
return -1;
}
LOGD("Printer write");

pwrbuf = (*env)->GetByteArrayElements(env, wrbuf, NULL);
wrlen = (*env)->GetArrayLength(env, wrbuf);
for(i =0 ;i< wrlen;i++)
{
LOGD("%x ",pwrbuf[i]);
}

ret = write(openflag, pwrbuf, wrlen);
(*env)->ReleaseByteArrayElements(env, wrbuf, pwrbuf, 0);

return ret;
}

最佳答案

好的,我找到了解决方案。我只需要在调用 mprinter.Write(byteData) 之后调用 Thread.sleep();

关于java - 热敏打印机仅在设置断点时打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com