回答編集履歴

1

onCreateが再度呼ばれる件について、追記

2017/09/22 14:10

投稿

katsuko
katsuko

スコア3471

test CHANGED
@@ -23,3 +23,27 @@
23
23
 
24
24
 
25
25
  ** Fragmentは使ってなくても構いません。FragmentActivityを継承してください。**
26
+
27
+
28
+
29
+ ---
30
+
31
+ アクティビティのライフサイクルは、しっかり把握していますか?
32
+
33
+
34
+
35
+ * [アクティビティ: アクティビティのライフサイクルを管理する](https://developer.android.com/guide/components/activities.html?hl=ja#Lifecycle)
36
+
37
+
38
+
39
+ アクティビティがバックグラウンドに移行した以上、いつ破棄されても文句は言えない。(通知はする。)それがAndroidの仕様です。
40
+
41
+ Nexus5X(Android7)でも、権限確認中に他のアプリを起動したり、長時間放置すれば起きる可能性はあると思います。(もしかすると、画面の向きを変えても起きるかもしれません)
42
+
43
+
44
+
45
+ 対処としては、破棄を禁止するのではなく、その下の「[アクティビティの状態を保存する](https://developer.android.com/guide/components/activities.html?hl=ja#SavingActivityState)」に書かれているとおり、Activity#onSaveInstanceStateメソッドで権限確認中かどうかを保存しておき、Activity#onCreateメソッドで引数に渡されたステートを見て処理を振り分けるようにするのが、まっとうな対処だと思います。
46
+
47
+
48
+
49
+ アクティビティのライフサイクルについては非常に厄介なので、他にも検索していろんなサイトの情報を見て調べてください。