我正在使用 okhttp3 发送请求,它只工作一次,按下任何其他按钮都不会执行任何操作
private fun makeGetRequest() {
val client = OkHttpClient()
val request = Request.Builder().url("http://192.168.1.54/trigger").build()
val textView = findViewById<TextView>(R.id.textView)
client.newCall(request).enqueue(object : okhttp3.Callback {
override fun onFailure(call: Call, e: IOException) {
runOnUiThread {
textView.text = "failed to send request"
}
}
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
runOnUiThread {
textView.text = response.body.toString()
}
}
}
})
}
如果有人可以帮助我,我将非常感激 我已经坚持了这么久了
我尝试清除缓存,以编程方式重新启动应用程序,但没有任何效果
请分享代码和错误,以便我们更好地帮助您。 但我猜问题出在另一个按钮请求地址的 HTTP 协议上。
<uses-permission android:name="android.permission.INTERNET" />
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">192.168.1.54</domain>
</domain-config>
</network-security-config>
通常,出于安全原因,Android 不允许您通过 HTTP 协议发送请求。所以你需要添加上面的代码并定义你需要访问的域名或IP地址。