JavaPos для приложения. Сервис не существует в загруженном реестре JCL

Я пытаюсь использовать javapos для приложений Android, и мне довольно трудно заставить его работать.

Вот что я пытался до сих пор.

У меня есть баночки javapos и файл jpos.xml, который мне дал продавец принтера. Я загрузил фляги в папку lib и jpos.xml в корневую папку приложения (я не уверен, находится ли он там, где он должен быть). Я написал Java для подключения к нему:

System.setProperty(JposPropertiesConst.JPOS_POPULATOR_FILE_PROP_NAME, "jpos.xml");

POSPrinter printer =  new POSPrinter();

try {
            printer.open("printf");
            printer.claim(100);
            printer.setDeviceEnabled(true);

            printer.printNormal(1, "PRINT?");

 } catch (jpos.JposException e) {
            e.printStackTrace();
 }

Где "printf" - логическое имя внутри моего xml.
Но когда я пытаюсь распечатать, я всегда получаю эту ошибку:

pos.JposException: Service does not exist in loaded JCL registry 

at jpos.loader.simple.SimpleServiceManager.createConnection(Unknown Source)

at jpos.loader.JposServiceLoader.findService(Unknown Source)

at jpos.BaseJposControl.open(Unknown Source)

Итак, мои вопросы:
это то, что я пытаюсь сделать правильно? Это вообще возможно? потому что я видел пару вопросов по этому поводу, но никогда не на Android-приложении.
Если это возможно, как я могу сообщить своему приложению, где найти реестр JCL?

2 ответа

Вы получили ошибку из-за неверного имени устройства, которое вы указали для открытия.

попробуй это:

      String deviceName = "HPPrinter" // or what your device name is
printer.open(deviceName);

вместо:

      printer.open("printf");

У меня была такая же проблема с интерфейсом сканера, я решил проблему, включая мой jpos.xml (убедитесь, что имя профиля, которое вы используете в своем коде, точно соответствует имени профиля внутри вашего xml файла), например:

надеюсь еще может помочь!

Другие вопросы по тегам