簡體   English   中英

不在服務android中發送http請求

[英]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件事 -

  1. 您是否在清單中獲得了Internet和網絡訪問權限?

  2. 請將Retrofit庫用於HTTP目的,因為Retrofit是一個高度維護,簡單高效的庫

  3. 在您調用localhost服務器(或任何其他服務器)之前,請使用Postman應用程序對其進行測試,以清楚地了解您的網絡狀態,服務器性能等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM