OkHttp POST запрос не обрабатывается в PHP
Код Анроид приложения. В файле манифеста есть разрешения на интернет. Если отправляю POST на https://reqres.in/api/users получаю значения в переменную serverResponse, все работает корректно. Но со своим сайтом не получается. Приложение просто вылетает. Понимаю что неправильно настроен coord.php но не могу понять, в чем причина.
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
Button button;
TextView textView;
double lat;
double lon;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) ->
{
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right,
systemBars.bottom);
return insets;
});
textView = findViewById(R.id.textView);
button = findViewById(R.id.button);
lat = 33.333;
lon = 44.444;
button.setOnClickListener(v -> new Thread(() -> {
RequestBody postBody = new FormBody.Builder()
.add("latitude", String.valueOf(lat))
.add("longitude", String.valueOf(lon))
.build();
Request.Builder builder = new Request.Builder();
builder.url("http://mysite.com/coord.php");
builder.post(postBody);
Request request = builder
.build();
OkHttpClient client = new OkHttpClient();
Call call = client.newCall(request);
Response response;
try {
response = call.execute();
assert response.body() != null;
String serverResponse = response.body().string();
runOnUiThread(() -> textView.setText(serverResponse));
} catch (IOException e) {
throw new RuntimeException(e);
}
}).start());
}
}
Вот код coord.php который должен принимать POST из приложения Андроид. Почему он не работает?
<?php
$latitude=55.555;
$longitude=77.777;
if (!empty($_POST["latitude"]&&!empty($_POST["longitude"]))){
$Latitude=$_POST["latitude"];
$Longitude=$_POST["longitude"];
}
echo $latitude;
echo $longitude;
?>