繁体   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