質問編集履歴

1

情報の追記

2019/11/22 13:01

投稿

CAIOS
CAIOS

スコア24

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,75 @@
7
7
 
8
8
 
9
9
  Viewではなく、Activity自体を最前面表示するにはどうすればいいでしょうか?
10
+
11
+
12
+
13
+ ー追記ー
14
+
15
+
16
+
17
+ Activityを起動したうえで、Activityのレイアウトファイル(R.layout.activity_authentication)を以下の設定で最前面表示しました。
18
+
19
+
20
+
21
+ 一応、一時は最前面表示されるのですが、最前面表示中にほかのアプリがActivityを起動すると最前面表示が解除されてしまいます。
22
+
23
+
24
+
25
+ ```Kotlin
26
+
27
+ private lateinit var windowManager: WindowManager
28
+
29
+ private var authView: View? = null
30
+
31
+
32
+
33
+ fun setOverlay() {
34
+
35
+ try {
36
+
37
+ val params = WindowManager.LayoutParams(
38
+
39
+ WindowManager.LayoutParams.MATCH_PARENT,
40
+
41
+ WindowManager.LayoutParams.MATCH_PARENT,
42
+
43
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY else WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
44
+
45
+ WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or
46
+
47
+ WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or
48
+
49
+ WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE or
50
+
51
+ WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
52
+
53
+ PixelFormat.TRANSLUCENT
54
+
55
+ )
56
+
57
+
58
+
59
+ if (authView == null) {
60
+
61
+ val inflater = getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
62
+
63
+ authView = inflater.inflate(R.layout.activity_authentication, null)
64
+
65
+ }
66
+
67
+
68
+
69
+ windowManager.addView(authView, params)
70
+
71
+ }
72
+
73
+ catch (e: Exception) {
74
+
75
+ Log.d("TAG", "$e")
76
+
77
+ }
78
+
79
+ }
80
+
81
+ ```