[英]Not send http request in service android
我正在嘗試在后台向本地服務器發送請求。 但我失敗了。
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>
主要活動 :
val serviceClass = MyService2::class.java
val serviceIntent = Intent(this, serviceClass)
this.startService(serviceIntent)
只要程序正在運行,它就能正常工作並顯示響應...消息。
但是當我關閉程序時,程序會顯示“Not Send Request”消息。
注意: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
如果你不介意我會要求你檢查或執行3件事 -
您是否在清單中獲得了Internet和網絡訪問權限?
請將Retrofit庫用於HTTP目的,因為Retrofit是一個高度維護,簡單高效的庫
在您調用localhost服務器(或任何其他服務器)之前,請使用Postman應用程序對其進行測試,以清楚地了解您的網絡狀態,服務器性能等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.