我更新了我的应用程序,该应用程序使用HttpURLConnection从targetSdkVersion 21到29的Web服务中读取数据。大多数设备的工作方式与以前一样,但是总的来说,客户会报告问题。 我实现了一些测试功能,以获取有关问题的更多信息。令人惊讶的是,连接超时并引发SocketTimeoutException。
有什么想法吗?
HttpURLConnection的简化用法:
...
try
{
URL url = new URL( uri );
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod( "GET" );
con.setConnectTimeout( 30000 );
con.setReadTimeout( 60000 );
int responseCode = con.getResponseCode();
if( responseCode == HttpURLConnection.HTTP_OK )
{
...
}
...
}
catch( SocketTimeoutException e )
{
...
}
...