質問編集履歴
1
前提と発生している問題に補足を入れました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ホームボタンを押した
|
1
|
+
ホームボタンを押した後、Activityがfinishされない
|
test
CHANGED
@@ -2,27 +2,47 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
FireBaseからのメッセージを受信したときに
|
5
|
+
FireBaseからのメッセージを受信したときに
|
6
6
|
|
7
|
-
|
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
|
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を利用したローカルインテントの場合も試しましたが同様の挙動でした。
|