我使用AS开发一个软件,将一些信息自动转发到服务器端,使用的是HttpsURLConnection,在使用中发现,如果网络连接不好或没有网络,那么软件就会异常退出,既不执行超时时间,也没办法捕获异常。
我是想,如果发送不成功时,延时再重试或给出手动处理提示,可是没办法捕获异常,所以也处理不了。关键是逻辑上想不通。求教了~
我是想,如果发送不成功时,延时再重试或给出手动处理提示,可是没办法捕获异常,所以也处理不了。关键是逻辑上想不通。求教了~
解决方案 »
- android 摄像头hal移植
- android 中使用oprofile工具问题
- 一个当前 activity和 main.xml相连的问题
- 怎么把bitmap通过socket传出去?
- android用robotium测试apk签名问题
- 如何同步更新图片的标题名称?
- android手机 mediaPlay 播放视频不触发缓冲事件
- 自己写一个WEB程序webView
- HttpServlet接收客户端json数据的问题
- 求助listview展开子child问题
- AndroidStudio开发,使用iconify字体图标IconFontDescriptor类无法使用
- 请问Android如何在视图里添加按钮呢?
URL url = new URL(weburl);
HttpsURLConnection httpURLConnection = (HttpsURLConnection) url.openConnection(); SSLContext sc;
sc = SSLContext.getInstance("TLS");
sc.init(null, null, new java.security.SecureRandom()); httpURLConnection.setSSLSocketFactory(sc.getSocketFactory());
httpURLConnection.setReadTimeout(7000);
httpURLConnection.setConnectTimeout(7000);
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setUseCaches(false);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Connection", "Keep-Alive");
httpURLConnection.setRequestProperty("Charset", "UTF-8");
httpURLConnection.setRequestProperty("Content-Type", "application/json");
httpURLConnection.setRequestProperty("Accept", "application/json"); httpURLConnection.connect();就是到这之后就不行了
运行时出现出现的记录是:
09-29 13:58:22.852 3864-3864/om.dx.util I/System.out: 网络发送开始1
09-29 13:58:32.905 3864-3870/om.dx.util I/zygote: Thread[3,tid=3870,WaitingInMainSignalCatcherLoop,Thread*=0xb2b5ac00,peer=0x12cc0290,"Signal Catcher"]: reacting to signal 3
09-29 13:58:33.007 3864-3870/om.dx.util I/zygote: Wrote stack traces to '/data/anr/traces.txt'10S超时,无论上面设置多少,这个位置都一样。弄不明白呀~~
不过还没看明白,本人小白一个~~
我再研究研究
不过现在要等大概6个我设定的超时时间才会有反应。