Veuillez trouver ci-dessous la classe pour l'impression wifi.
public abstract class WifiPrinterConnection extends AsyncTask<Void, Void, Void> {
private byte[] printData;
@Override
protected void onPreExecute() {
super.onPreExecute();
//place your progress dialog
}
@Override
protected Void doInBackground(final Void... params) {
try {
final Socket socket = new Socket();
socket.connect(new InetSocketAddress(InetAddress.getByName(((WifiPrintingEntity)this.connectionEntity).getIp()), ((WifiPrintingEntity)this.connectionEntity).getPort()),
((WifiPrintingEntity)this.connectionEntity).getTimeout());
LOGGER.info(PrinterLoggerMessage.WIFI_PRINTER_CONNECTION_SUCCESS);
final OutputStream outputStream = socket.getOutputStream();
final byte[] data = this.printData;
LOGGER.info(PrinterLoggerMessage.PRINTING_STARTED);
outputStream.write(data, 0, data.length);
outputStream.close();
socket.close();
entity.setSuccessful(true);
LOGGER.info(PrinterLoggerMessage.SOCKET_CLOSE);
} catch (final IOException e) {
LOGGER.error(e.getMessage(),e);
} catch (final Exception ee) {
}
return null;
}
@Override
public void connection(final PrintingEntity connectionEntity, final IConnectionResponse listner,final byte[] data) {
this.connectionEntity = connectionEntity;
this.printData = data;
this.response = listner;
this.execute();
}
}
Appelez cette classe comme wifiPrinterConnection.connect()
S'il vous plaît visitez https://stackoverflow.com/questions/6301132/how-to-connect-a-network-printer-over-android, il vous aidera à pour développer l'application et imprimer – amity
La solution ci-dessus ne fonctionne pas pour moi. Mon imprimante est 'Hp Laser Jet Pro M126nw' – Ajit
S'il vous plaît attendre j'ai la solution, je vais vous envoyer le code pour la même imprimante par EOD. – amity