-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
The socket operation in BosswaveClient constructor causes
android.os.NetworkOnMainThreadException
when called in Android main thread.
Should the socket be moved to another thread (like the beginning of the listener thread?)? Or should application developer avoid creating BosswaveClient in the main thread?
Android log:
D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=4; ai_family=0
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: edu.berkeley.cs.sdb.cellmate, PID: 9339
java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.berkeley.cs.sdb.cellmate/edu.berkeley.cs.sdb.cellmate.MainActivity}: android.os.NetworkOnMainThreadException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2345)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1323)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5376)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
at java.net.InetAddress.lookupHostByName(InetAddress.java:426)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:255)
at java.net.InetAddress.getAllByName(InetAddress.java:218)
at java.net.Socket.tryAllAddresses(Socket.java:111)
at java.net.Socket.<init>(Socket.java:180)
at java.net.Socket.<init>(Socket.java:152)
at edu.berkeley.cs.sdb.bosswave.BosswaveClient.<init>(BosswaveClient.java:50)
at edu.berkeley.cs.sdb.cellmate.MainActivity.initBosswaveClient(MainActivity.java:482)
at edu.berkeley.cs.sdb.cellmate.MainActivity.onCreate(MainActivity.java:419)
at android.app.Activity.performCreate(Activity.java:6021)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1323)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5376)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels