Я использую Google API для получения местоположения устройства, и мне нужно использовать OnSuccessListener, но я попытался использовать PrintStream, чтобы он отправлял местоположение при успешном выполнении, но дает мне NetworkOnMainThreadException
Iпопытался использовать обработчики, и я увидел, что я могу использовать AsyncTask, но я не знаю, где, я действительно думаю, что проблема в onSuccess, но я не могу найти ничего, что помогло
@Override
public void onSuccess(Location location)
{
if(location != null){
Geocoder geocoder = new Geocoder(activityContext.getApplicationContext(), Locale.getDefault());
List<Address> addresses = null;
try {
addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
} catch (IOException e) {
e.printStackTrace();
}
clientConnection.sendtoServer("loc",addresses.get(0).getCountryName()+","+addresses.get(0).getAdminArea());//this line is the problem
}
else
clientConnection.sendtoServer("loc","Not Found!");
}
clientConnection.sendtoServer это проблема
//this is used for a Socket the class of the socket is clientConnection
public static void sendtoServer(String TextCode,String message){
os.println(TextCode+" "+message);
os.flush();
}
это моя ошибка
2019-01-01 19:24:51.037 7077-7077/com.example.victor.zactarget E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.victor.zactarget, PID: 7077
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1303)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:157)
at java.io.PrintStream.write(PrintStream.java:492)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
at java.io.PrintStream.write(PrintStream.java:543)
at java.io.PrintStream.print(PrintStream.java:687)
at java.io.PrintStream.println(PrintStream.java:824)
at com.example.victor.zactarget.ClientConnection.sendtoServer(ClientConnection.java:118)
at com.example.victor.zactarget.Code$2.onSuccess(Code.java:66)
at com.example.victor.zactarget.Code$2.onSuccess(Code.java:54)
at com.google.android.gms.tasks.zzn.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)