Android Question [Solved] unexpected error

giannimaione

Well-Known Member
Licensed User
Longtime User
i can print on receipt/pos printer wifi with this code:

B4X:
socket1.Initialize("socket1")
socket1.Connect(ipPrinter, portPrinter, 9000)
'
'
'
Sub socket1_Connected (Successful As Boolean)
    If Successful Then
    '
    '
        Dim OutputStream1 As OutputStream
        OutputStream1 = socket1.OutputStream
    '
        Dim dataToSend as string = "Hello World!"
        OutputStream1.WriteBytes(dataToSend.GetBytes("UTF8"), 0, dataToSend.Length)
    '
       Sleep (500)
       OutputStream1.Close
       socket1.Close
    End If
if run app in "Debug" mode, it is OK!
but in "Release" there is a follow log error:
B4X:
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
stampa$ResumableSub_socket1_Connectedresume (java line: 262)
android.os.NetworkOnMainThreadException
    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1667)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:115)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:156)
    at anywheresoftware.b4a.objects.streams.File$OutputStreamWrapper.WriteBytes(File.java:534)
    at giannimaione.pointofsales.stampa$ResumableSub_socket1_Connected.resume(stampa.java:262)
    at giannimaione.pointofsales.stampa._socket1_connected(stampa.java:170)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:226)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8762)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
a little help
 

Xfood

Expert
Licensed User
I don't have an Ethernet printer right now, but if I remember correctly the default port should be 9100
 
Upvote 0

giannimaione

Well-Known Member
Licensed User
Longtime User
ok, solved
B4X:
Astream.Initialize(socket1.InputStream, socket1.OutputStream, "AStreams")
'
'
'
Astream.Write(......)
'ok printed is good
'
'
'
'
Thank you @agraham
 
Upvote 0
Top