回答編集履歴

2

追記

2020/07/01 08:51

投稿

keicha_hrs
keicha_hrs

スコア6768

test CHANGED
@@ -9,3 +9,27 @@
9
9
  [ネットワーク セキュリティ構成 | Android Developers](https://developer.android.com/training/articles/security-config)
10
10
 
11
11
  [Android 9(Pie)でHTTP通信を有効にする | Qiita](https://qiita.com/b_a_a_d_o/items/afa0d83bbffdb5d4f6be)
12
+
13
+
14
+
15
+ ---
16
+
17
+
18
+
19
+ Android 7.0の端末なら上記の問題は影響しないでしょう。それならば、AndroidManifest.xmlに
20
+
21
+
22
+
23
+ ```xml
24
+
25
+ <uses-permission android:name="android.permission.INTERNET" />
26
+
27
+ ```
28
+
29
+
30
+
31
+ の記述はありますか?それがない場合も、同様にurlConnectionへの代入が行われずにfinallyブロックが走るでしょう。
32
+
33
+
34
+
35
+ 後は、ネットワーク処理がUIスレッド上で走っている場合もやはり代入が行われず例外が飛ぶので、同じ結果になると思います。別スレッドで走るように実装されているでしょうか。

1

typo

2020/07/01 08:51

投稿

keicha_hrs
keicha_hrs

スコア6768

test 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
 
4
4