モバイル デバイスからファイルをダウンロードしようとしています。モバイルはwifiで接続されており、モバイルの場所が変わると、別のwifiに接続することがあります。ダウンロードには、次を使用します。
final URLConnection ucon = url.openConnection();
ucon.setReadTimeout(10000);
ucon.setConnectTimeout(10000);
final InputStream inputStream = ucon.getInputStream();
final BufferedInputStream bis = new BufferedInputStream(inputStream);
そして bis.available() と bis.read() の後、バイト数 > ucon.getContentLength() までデータを取得します。
wifi接続が変更されたときに(IO)Exception(または少なくともTimeoutException)が発生することを期待していましたが、何もありませんでした。
他のクラスでは、(BroadcastReceiver を使用して) ネットワーク接続を確認し、イベントが正常に切断/接続されていることを確認しました。そのため、ブロードキャスト レシーバーを使用してダウンロードを停止および再開できますが、それは最善の方法ではないと思います。それを行う。
この場合、例外を取得する考えはありますか?
ありがとうございました。