質問編集履歴

1

前提と発生している問題に補足を入れました。

2018/09/24 04:42

投稿

nomorin
nomorin

スコア12

test CHANGED
@@ -1 +1 @@
1
- ホームボタンを押したときにActivityがfinish()されない
1
+ ホームボタンを押した後、Activityがfinishされない
test CHANGED
@@ -2,27 +2,47 @@
2
2
 
3
3
 
4
4
 
5
- FireBaseからのメッセージを受信したときにアラートダイアログを表示したいです。
5
+ FireBaseからのメッセージを受信したときに
6
6
 
7
- ※現在は透明なActivityを使用してダイアログを表示しす。
7
+ フォアグラウンドでアラートダイアログを表示しす。
8
8
 
9
-
9
+ ※現在は透明なActivityを使用してダイアログを表示していますが制御が失われます。
10
10
 
11
11
 
12
12
 
13
13
  ### 発生している問題
14
14
 
15
-
15
+ FireBaseからのメッセージを受信し、アラートダイアログが表示された後
16
16
 
17
17
  Androidのタスクボタンを押した場合は
18
18
 
19
- onPauseメソッドに記載したfinish()でActivityが正常にクリアされますが
19
+ onPauseメソッドに記載したfinishでActivityが正常にクリアされ
20
+
21
+ 元々表示していたアプリの画面が表示されます。
20
22
 
21
23
 
22
24
 
23
- ホームボタンボタンを押してアプリがバックグラウンドに移動した後は
25
+ しかし、ホームボタンボタンを押してアプリが一度バックグラウンドに移動した後は
24
26
 
27
+
28
+
29
+ タスク一覧からアプリを起動→ダイアログのOKボタンに設定しているfinishを実行
30
+
31
+ タスク一覧にアプリが再度表示される→ダイアログのOKボタンに設定しているfinishを実行
32
+
33
+
34
+
35
+ となり、透明なActivityがエンドレスループし
36
+
25
- タスク一覧からアプリに復帰できなくなります。
37
+ 元々表示していたアプリの画面に復帰できなくなります。
38
+
39
+
40
+
41
+ タスクボタンもホームボタンも押したあとは
42
+
43
+ onPauseメソッドを経由すると思いますが
44
+
45
+ なぜホームボタンを押した場合の挙動が異なるのかが分かりません...
26
46
 
27
47
 
28
48
 
@@ -42,9 +62,13 @@
42
62
 
43
63
  ...
44
64
 
65
+   
66
+
67
+ // AlertDialogを実装したActivityを起動.
68
+
45
69
  Intent pushIntent = new Intent(this, AlertDialogActivity.class);
46
70
 
47
- pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 新規起動の記述
71
+ pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
48
72
 
49
73
  pushIntent.putExtra(PUSH_MESSAGE, message);
50
74
 
@@ -106,4 +130,4 @@
106
130
 
107
131
 
108
132
 
109
- LocalBloadCastを利用した場合も試しましたが同様の挙動でした。
133
+ LocalBloadCastを利用したローカルインテントの場合も試しましたが同様の挙動でした。