Я уже создал пузырь головы, который отлично работает на старых API до 28. На последнем API 29 я не могу открыть приложение крана из фона.
Вот скриншот головы пузыря
Снимок экрана с пузырем на голове, когда приложение находится в фоновом режиме
Вот мой текущий код ...
override fun onCreate() {
super.onCreate()
mCallHeadView =
LayoutInflater.from(this).inflate(R.layout.call_head, null);
var params: WindowManager.LayoutParams = WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
)
//val params = LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, LayoutParams.TYPE_PHONE,
LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT)
params.gravity = Gravity.TOP or Gravity.END
params.x = 0
params.y = 270
mWindowManager = getSystemService(WINDOW_SERVICE) as? WindowManager;
if( mWindowManager != null){
mWindowManager!!.addView(mCallHeadView, params);
}
var closeButton = mCallHeadView!!.findViewById<ConstraintLayout> .
(R.id.callHead)
closeButton.setOnClickListener {
val i = Intent()
i.setClass(this,MainActivity::class.java)
i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(i)
stopSelf()
}