Как сказал Ян, вы должны быть очень осторожны с этим, так как он может легко раздражать пользователей, если с ним не обращаться должным образом. Вот один из способов показать вид наложения. Вам потребуется владелец телефона, чтобы явно предоставить вам разрешения наложения. Затем вы можете отобразить представления из класса обслуживания. Вы должны помнить, чтобы правильно обрабатывать разрешения. Вам необходимо указать в своем манифесте следующее разрешение -
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Поскольку это опасное разрешение, пользователь должен вручную дать вам разрешение в настройках. Затем вы можете в своем классе обслуживания работать с windowManager для обработки выравнивания вида, размера и деталей. Например -
windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
params = WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT)
params.gravity = Gravity.BOTTOM
if (view.windowToken != null) {
try {
windowManager!!.addView(view, params)
} catch (e: Exception) {
Log.d("The exception is", e.toString())
}
}