T
TheJoe
Neues Mitglied
- 0
Hallo miteinander,
ich hab ein Problem mit Android 3.0 aufwärts.
Also foldende Ausgangspunkte:
Eine Activity diese steuert einen Thread über zwei Handler. Einer in der Activity und einer im Thread um miteinander kommunizieren zu können. Dies klappt wunderbar auf Android 2.3.4 (Handy). Auf Android 3.1 (Tablet) wirft er mir immer eine Exception (siehe Ende).
Meine momentane Vermutung besteht darin das er keinen eigenen Thread aufmacht bzw. darin arbeitet. Das Problem bei dieser Vermutung ist, das die ganzen Aktionen am Handy ohne freezes in der GUI ablaufen, also dennoch asyncron laufen.
Suchen bei Google führen immer dazu, dass ich beim connecten einen Thread/AsyncTask benutzen soll
Hat jemand eine Idee was ich falsch mach oder ändern muss?
Threadstart:
Häufiger wird die Threadklasse nicht angesprochen, nur noch über die internen Handler.
Exception:
ich hab ein Problem mit Android 3.0 aufwärts.
Also foldende Ausgangspunkte:
Eine Activity diese steuert einen Thread über zwei Handler. Einer in der Activity und einer im Thread um miteinander kommunizieren zu können. Dies klappt wunderbar auf Android 2.3.4 (Handy). Auf Android 3.1 (Tablet) wirft er mir immer eine Exception (siehe Ende).
Meine momentane Vermutung besteht darin das er keinen eigenen Thread aufmacht bzw. darin arbeitet. Das Problem bei dieser Vermutung ist, das die ganzen Aktionen am Handy ohne freezes in der GUI ablaufen, also dennoch asyncron laufen.
Suchen bei Google führen immer dazu, dass ich beim connecten einen Thread/AsyncTask benutzen soll
Hat jemand eine Idee was ich falsch mach oder ändern muss?
Threadstart:
Code:
bridge = new Soundbridge(prefs.getString("ipaddress", ""), 5555, mainhandler);
bridge.start();
threadhandler = bridge.getHandler();
Code:
threadhandler.sendMessage(threadhandler.obtainMessage(1, params));
Exception:
Code:
FATAL EXCEPTION: main
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
at java.net.InetAddress.lookupHostByName(InetAddress.java:477)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:277)
at java.net.InetAddress.getAllByName(InetAddress.java:249)
at java.net.Socket.tryAllAddresses(Socket.java:126)
at java.net.Socket.<init>(Socket.java:204)
at java.net.Socket.<init>(Socket.java:171)
at de.equivalents.Soundbridge.connect(Soundbridge.java:41)
at de.equivalents.Soundbridge.sendBefehl(Soundbridge.java:61)
at de.equivalents.Soundbridge.getPresets(Soundbridge.java:165)
at de.equivalents.Soundbridge.access$2(Soundbridge.java:164)
at de.equivalents.Soundbridge$1.handleMessage(Soundbridge.java:226)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4025)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
at dalvik.system.NativeStart.main(Native Method)