Activityを最前面表示したい(ほかのアプリケージョンが画面遷移しても最前面に表示し続ける)ようにするにはどうすればいいでしょうか?
WindowManagerを使用する方法もあるのですが、それではActivity自体を最前面表示することはできませんでした。
Viewではなく、Activity自体を最前面表示するにはどうすればいいでしょうか?
ー追記ー
Activityを起動したうえで、Activityのレイアウトファイル(R.layout.activity_authentication)を以下の設定で最前面表示しました。
一応、一時は最前面表示されるのですが、最前面表示中にほかのアプリがActivityを起動すると最前面表示が解除されてしまいます。
Kotlin
1private lateinit var windowManager: WindowManager 2private var authView: View? = null 3 4fun setOverlay() { 5 try { 6 val params = WindowManager.LayoutParams( 7 WindowManager.LayoutParams.MATCH_PARENT, 8 WindowManager.LayoutParams.MATCH_PARENT, 9 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY else WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 10 WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or 11 WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or 12 WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE or 13 WindowManager.LayoutParams.FLAG_BLUR_BEHIND, 14 PixelFormat.TRANSLUCENT 15 ) 16 17 if (authView == null) { 18 val inflater = getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater 19 authView = inflater.inflate(R.layout.activity_authentication, null) 20 } 21 22 windowManager.addView(authView, params) 23 } 24 catch (e: Exception) { 25 Log.d("TAG", "$e") 26 } 27 }
あなたの回答
tips
プレビュー