Причины того, что запрос на сервер не обрабатывается при запуске с APK, но работает через Expo Go, могут быть связаны с несколькими факторами:
1. **Проблемы с разрешениями**: В приложении на Android вам нужно убедиться, что у вас есть все необходимые разрешения для доступа к интернету и к файловой системе (если требуется). Убедитесь, что у вас добавлено разрешение на доступ к интернету в файл `AndroidManifest.xml`:
```xml
<uses-permission android:name="android.permission.INTERNET" />
```
2. **Различия в конфигурации сервера**: Убедитесь, что сервер доступен из сети, в которой находится ваш телефон. Если вы используете локальный сервер, сервер должен быть доступен по IP-адресу и на порту, указанном в коде. Также убедитесь, что ваш телефон подключен к той же сети, что и ваш сервер.
3. **CORS (Cross-Origin Resource Sharing)**: Если ваш сервер настроен так, что не принимает запросы с других источников, необходимо убедиться, что он правильно настроен для обработки запросов с мобильных устройств.
4. **URL для запроса**: Убедитесь, что переменная `serverIp` содержит правильное значение IP-адреса сервера при компиляции APK. Попробуйте заменить `http://${serverIp}/detect` на актуальный полный URL вашего сервера.
5. **Ошибки в коде**: Проверьте, правильно ли выполняется вся логика в `handleSendData`. Например, убедитесь, что функция `reader.onloadend` вызывается и данные отправляются, как ожидалось.
6. **Сетевые настройки телефона**: Убедитесь, что на телефоне нет ограничений по сети (например, в настройках Wi-Fi или мобильных данных), которые могут блокировать отправку запросов.
7. **Отладка**: Вы можете добавить больше журналирования (console.log) перед отправкой запроса, чтобы убедиться, что функция вызывается корректно и данные формируются правильно.
Попробуйте проверить эти моменты, и если проблема сохраняется, напишите об ошибках или сообщениях, которые получаете в процессе отладки.