回答編集履歴
2
追記
answer
CHANGED
@@ -3,4 +3,16 @@
|
|
3
3
|
下記資料を参考にしてres/xml/network_security_config.xmlを作成し、AndroidManifest.xmlへの記述を追加することで回避できるのではないかと思います。
|
4
4
|
|
5
5
|
[ネットワーク セキュリティ構成 | Android Developers](https://developer.android.com/training/articles/security-config)
|
6
|
-
[Android 9(Pie)でHTTP通信を有効にする | Qiita](https://qiita.com/b_a_a_d_o/items/afa0d83bbffdb5d4f6be)
|
6
|
+
[Android 9(Pie)でHTTP通信を有効にする | Qiita](https://qiita.com/b_a_a_d_o/items/afa0d83bbffdb5d4f6be)
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
Android 7.0の端末なら上記の問題は影響しないでしょう。それならば、AndroidManifest.xmlに
|
11
|
+
|
12
|
+
```xml
|
13
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
14
|
+
```
|
15
|
+
|
16
|
+
の記述はありますか?それがない場合も、同様にurlConnectionへの代入が行われずにfinallyブロックが走るでしょう。
|
17
|
+
|
18
|
+
後は、ネットワーク処理がUIスレッド上で走っている場合もやはり代入が行われず例外が飛ぶので、同じ結果になると思います。別スレッドで走るように実装されているでしょうか。
|
1
typo
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
動かそうとしているAndroidのバージョンが9.0以上であるとしたら、デフォルトでHTTPの通信が制限されているので、そのための対処をしないと`url.openConnection()`の段階で例外が飛ぶと思われます。そうするとurlConnectionへの代入が行われないままfinallyの`urlConnection.disconnect()`が実行されようとするので、質問にある
|
1
|
+
動かそうとしているAndroidのバージョンが9.0以上であるとしたら、デフォルトでHTTPの通信が制限されているので、そのための対処をしないと`url.openConnection()`の段階で例外が飛ぶと思われます。そうするとurlConnectionへの代入が行われないままfinallyの`urlConnection.disconnect()`が実行されようとするので、質問にあるエラーが起きているのではないでしょうか。
|
2
2
|
|
3
3
|
下記資料を参考にしてres/xml/network_security_config.xmlを作成し、AndroidManifest.xmlへの記述を追加することで回避できるのではないかと思います。
|
4
4
|
|