在Android O(Android 8.0)中,无法读取OkHttp中的响应可能是由于以下原因导致的:
<uses-permission android:name="android.permission.INTERNET" />
private class NetworkTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://example.com")
.build();
try {
Response response = client.newCall(request).execute();
return response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
// 处理响应结果
if (result != null) {
// 在这里对响应进行处理
}
}
}
// 启动异步任务
new NetworkTask().execute();
implementation 'com.squareup.okhttp3:okhttp:版本号'
-dontwarn okhttp3.**
-keep class okhttp3.** { *; }
-dontwarn okio.**
-keep class okio.** { *; }
以上是一些常见的导致无法读取OkHttp中响应的问题和解决方法。如果问题仍然存在,建议查看OkHttp的官方文档或寻求更详细的技术支持。
领取专属 10元无门槛券
手把手带您无忧上云