Я использую WindowManager добавить вид на пользователей экране, используя в IntentService, как показано здесь:Android перекрывающихся просмотров при использовании WindowManager
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.BOTTOM | Gravity.CENTER;
params.x = 0;
params.y = 100;
windowManager.addView(cardView, params);
Когда я первый запуск IntentService, вид создается как ожидается. Однако при повторном запуске IntentService добавляется новое представление, но предыдущее представление остается.
Как удалить все виды, которые я уже добавил, перед добавлением нового представления? Я знаю, что если я убью IntentService, тогда исчезают представления, но как удалить все другие экземпляры моего IntentService, кроме только того экземпляра, который я только что запустил?
Это то, что он выглядит, когда я первый называть IntentService:
К тому времени IntentService было названо несколько раз, тень появляется, потому что есть так много вид сложены на вершине друг друга: