Я пытаюсь отправить запрос на локальный сервер в фоновом режиме. Но мне не удается.
class MyService2 : Service() {
..........
fun Check_Presence(){
var url="http://192.168.1.158/cgi-bin/cp/login.sh"
val queue = Volley.newRequestQueue(this)
val postRequest = object : StringRequest(
Request.Method.POST, url,
Response.Listener {response ->
Toast.makeText(getBaseContext(), "response"+response, Toast.LENGTH_LONG).show();
},
Response.ErrorListener() { response ->
Toast.makeText(getBaseContext(), "Not Send Request", Toast.LENGTH_LONG).show();
}
) {
override fun getParams(): Map<String, String> {
val params = HashMap<String, String>()
params["status"] = "1"
return params
}
}
queue.add(postRequest)
}
}
файл манифеста:
<application
........
<service
android:name=".MyService2"
android:enabled="true"
android:exported="true">
</service>
</application>
MainActivity:
val serviceClass = MyService2::class.java
val serviceIntent = Intent(this, serviceClass)
this.startService(serviceIntent)
Покапоскольку программа работает, она работает правильно и отображает ответное сообщение ...
Но когда я закрываю программу, программа отображает сообщение "Не отправлять запрос".
Примечание: функция Check_Presenceработает каждую минуту.
Когда я проверил интернет в службе, я понял, что интернет не был подключен.
fun Check_Internet(){
val connectivityManager=this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkInfo=connectivityManager.activeNetworkInfo
if (networkInfo!=null && networkInfo.isConnected) {
Toast.makeText(applicationContext, "INTENET OK : ", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(applicationContext, "NO INTERNET : ", Toast.LENGTH_LONG).show();
}
}
Пожалуйстапомогите мне.
Мое устройство: Android 8