Buon giorno, sto scrivendo una app android per la gestione della domotica KNX.
Quando tento di scrivere o leggere dati utilizzando la connessione udp l'app va in crash.
Ho cercato su intenet possibili motivi ma dappertutto trovo sempre lo stesso codice per la connessione, trasmissione e ricezione di dati via udp socket il codice che uso è questo:
DatagramSocket client_socket = new DatagramSocket(port);
DatagramPacket send_packet = new DatagramPacket(buf_send,len, ip, port);
client_socket.send(send_packet);
l'errore che genera il crash è questo:
11-26 11:02:06.284 30365-30365/com.example.bagigio.lyra E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.bagigio.lyra, PID: 30365
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.bagigio.lyra/com.example.bagigio.lyra.MainActivity}: android.os.NetworkOnMainThreadException
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2702)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2767)
at android.app.ActivityThread.access$900(ActivityThre ad.java:177)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1449)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.jav a:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:1195)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNe twork(StrictMode.java:1147)
at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:2 76)
at libcore.io.IoBridge.sendto(IoBridge.java:513)
at java.net.PlainDatagramSocketImpl.send(PlainDatagra mSocketImpl.java:184)
at java.net.DatagramSocket.send(DatagramSocket.java:3 05)
at com.example.bagigio.lyra.MainActivity$KNX_com.send _telegram(MainActivity.java:259)
at com.example.bagigio.lyra.MainActivity$KNX_com.conn ect(MainActivity.java:116)
at com.example.bagigio.lyra.MainActivity$KNX.<init>(M ainActivity.java:485)
at com.example.bagigio.lyra.MainActivity.onCreate(Mai nActivity.java:25)
at android.app.Activity.performCreate(Activity.java:6 289)
at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2655)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2767)
at android.app.ActivityThread.access$900(ActivityThre ad.java:177)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1449)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.jav a:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:1195)
Qualcuno ha qualche suggerimento in merito?