Как подключить сетевой принтер через Android?
Я хочу закодировать приложение для Android, которое будет подключаться к сетевому принтеру с определенным IP-адресом, а затем делать печать.
Для печати я знаю, что мне нужно написать собственный Postscript для определенных типов файлов, а подключение к сети не представляет проблемы для WIFI.
Как подключиться к сетевому принтеру?
Ответы
Ответ 1
Любое устройство, подключенное к сети, будет связываться через свои IP-адреса и порты/сокеты. Самый простой способ подключения через telnet или сокет и записать данные в их буферы сокетов.
try
{
Socket sock = new Socket("192.168.1.222", 9100);
PrintWriter oStream = new PrintWriter(sock.getOutputStream());
oStream.println("HI,test from Android Device");
oStream.println("\n\n\n");
oStream.close();
sock.close();
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
Ответ 2
Возможно, вы сможете использовать lpdspooler, то есть если принтер поддерживает LPR/LPD. Если вы можете дать более подробную информацию об окружающей среде (принтер и т.д.), Я могу предоставить дополнительную информацию.
Ответ 3
Ну, вы не можете подключить любые устройства напрямую, так как вам понадобится установленный драйвер. есть сторонние приложения, такие как Google Cloud печать, которая работает без проблем с Android.
Ответ 4
У Звезды есть Android SDK, у которого есть открытие порта. Он найдет в вашей сети любые принтеры для принтеров Wi-Fi. http://starmicronics.com/support/SDKDocumentation.aspx
Ответ 5
Просто добавьте этот код после метода oncreate
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}