Проверяет понимание работы с Intent и BroadcastReceiver, а также базовые принципы отправки данных во внешний сервис (например, на сервер).
Текст можно получить в BroadcastReceiver через intent.getStringExtra("ключ"). Затем его можно передать на бэкенд с помощью сетевого клиента, например Retrofit.
1. Получение текста в BroadcastReceiver:
override fun onReceive(context: Context?, intent: Intent?) {
val message = intent?.getStringExtra("text")
// отправка на сервер
}2. Отправка на бэкенд:
Обычно используется сетевой клиент, например Retrofit. Пример:
interface ApiService {
@POST("save")
fun saveText(@Body text: TextPayload): Call<ResponseBody>
}
data class TextPayload(val message: String)3. Вызов API внутри BroadcastReceiver:
val retrofit = Retrofit.Builder()
.baseUrl("https://example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val service = retrofit.create(ApiService::class.java)
val call = service.saveText(TextPayload(message ?: ""))
call.enqueue(object : Callback<ResponseBody> {
override fun onResponse(...) { ... }
override fun onFailure(...) { ... }
})Когда использовать:
Когда нужно отреагировать на событие (например, при получении push-сообщения) и отправить данные на сервер.