Запуск класса DevicePicker в приложении Kiosk UWP
В настоящее время я занимаюсь разработкой приложения UWP Kiosk. Это приложение должно печатать на PosPrinter (EPSON TM-T20II), который подключен через Интернет к сети. Приложение работает на другом компьютере, подключенном к той же сети через Wi-Fi. Я создал приложение, используя класс DevicePicker, как этот пример от Microsoft
Пример конфигурации PosPrinter C#
в этом примере вы открываете всплывающее окно со списком всех подключенных устройств и фильтруете принтер. Вы можете выбрать его, и у вас будет подключение к этому принтеру. Проблема в том, что когда я использую приложение в режиме киоска в Windows 10, это окно со всеми подключенными принтерами не будет отображаться, и тогда я не смогу установить соединение. Я изучил опцию set-множественные киоски приложений для Windows 10, но я не знаю, как определить путь к классу, известному как DevicePicker, чтобы позволить его функциональность с моим приложением Kiosk.
Я также пытался использовать метод PosPrinter.GetDefaultAsync(), чтобы получить принтер напрямую, но он всегда возвращает ноль, я также добавил deviceCapabillities в свой appxmanifest.xml
Так что, если кто-нибудь может дать мне подсказку или что-то еще, я буду очень благодарен.
0 ответов
Я нашел решение, используя класс FindAllAsync(DeviceClass), который возвращает коллекцию со всеми подключенными устройствами, принадлежащими этому DeviceClass(в моем случае PosPrinter), после этого я просто использую Deviceinformation.id для сопряжения устройства с моей программой, например этот: Posprinter.FromIdAsync(String deviceId)
, Таким образом, средство выбора устройства не появится, поэтому приложение Kiosk просто найдет устройство, а затем отобразит разрешение, запрашивающее разрешение устройства или нет.