Cause: Communication in the main thread is not allowed
Method 1: You can, of course, deal with it:
Strictmode.setthreadpolicy (New StrictMode.ThreadPolicy.Builder ()
. Detectdiskreads ()
. Detectdiskwrites ()
. Detectnetwork ()//or. Detectall () for all detectable problems
. Penaltylog ()
. build ());
Strictmode.setvmpolicy (New StrictMode.VmPolicy.Builder ()
. Detectleakedsqlliteobjects ()
. Detectleakedclosableobjects ()
. Penaltylog ()
. Penaltydeath ()
. build ());
Strictmode.setthreadpolicy (new StrictMode.ThreadPolicy.Builder () . Detectdiskreads () . Detectdiskwrites () . Detectnetwork () // or. Detectall () for all detectable problems . Penaltylog () . Build ()); Strictmode.setvmpolicy(new StrictMode.VmPolicy.Builder () . Detectleakedsqlliteobjects ( ) . Detectleakedclosableobjects (). penaltylog () . Penaltydeath () . Build ());
This does not need to be executed in one thread.
Method 2: (No Tests)
New Thread () {
@Override
public void Run ()
{
Network access
}
}.start ();
Android "Networkonmainthreadexception" error causes and workarounds