Почему я не могу нажать кнопку «Установить» при установке приложений из неизвестных источников?

Я пытаюсь загрузить приложение, как показано на рисунке ниже.

Я разрешил установку приложений из неизвестных прикладных действий в настройках, но я не могу нажать кнопку установки. Кнопка отмены работает корректно и установка приложений через adb installработает корректно. В чем проблема?

РЕДАКТИРОВАТЬ: Для тех, у кого есть эта проблема, использование ChainFire CF Lumen исправит ее, потому что приложение использует аппаратную компоновку, а Android не замечает «слой» поверх текущего экрана.

Ответы (2)

Глядя на ваш скриншот, я думаю, что вы используете приложения для фильтрации экрана, такие как Twilight, f.lux, CF.lumen или фильтр синего света. Попробуйте принудительно остановить/удалить или отключить приложения для фильтрации экрана, и они снова заработают.

Если вы не используете какое-либо приложение для фильтрации, попробуйте найти установленные приложения с возможностью наложения, приложения, которые могут отображать свое содержимое поверх других приложений, приложения с разрешением наложения (например, приложения Messenger, Musixmatch, Touch Assistant, которые могут перемещаться по экрану). ).

Если вы не уверены, попробуйте отключить их один за другим Settings ⇒ Appsи найти, какой из них вызывает проблему. Вы также можете найти меню «Рисовать поверх других приложений» в настройках Android, где будут перечислены все приложения с этим разрешением. Если вы не можете найти меню, найдите разрешение наложения + {версия Android} + {производитель устройства}.

Это сработало. Но почему это проблема?
Я считаю, что Android отключил его по соображениям безопасности. Вредоносные приложения могут заставить пользователя установить нежелательные приложения, показывая что-то над меткой «Установить»?
Можете ли вы сказать, почему приложение для фильтрации экрана вызывает эту проблему? Потому что кнопка «Отмена» работает, а кнопка «Установить» не работает.
@logan Разрешение пользователю нажимать кнопку отмены никому не повредит, верно? Просто мое мнение :)
Также это вызывало мое приложение с копией пузыря, и это просто крошечный плавающий вид в углу. Мне пришлось выйти из этого приложения, чтобы включить кнопку установки.
Я не понимаю. Я потратил около 30-60 минут на настройку запущенных приложений, пока не смог установить свой apk. Почему Android не показывает всплывающее окно типа «Вы уверены, что хотите установить example.apk на свое устройство?», вместо того, чтобы отключить кнопку и вызвать раздражение у пользователя из-за того, что он просто не работает?
@TeoInke Тогда эта функция экономии заряда батареи + средство быстрой зарядки + антивирус + очиститель оперативной памяти + все вредоносное ПО, доступное в приложении Universe, покажет что-то вроде «о, ваш телефон кажется довольно медленным». почему бы не нажать кнопку «ОК» ниже над вашим сообщением: P
Я не понимаю, как это функция безопасности. Если вредоносное приложение может отображать что-то поверх кнопки установки и перехватывать событие касания, что помешает ему отобразить что-то поверх кнопки отмены?
Если вы хотите исправить это, не убивая какие-либо приложения, вы можете сделать это, перейдя в «Настройки» -> «Приложения» -> «Колесо настроек» -> «Рисовать поверх других приложений» и отключить разрешение для всех приложений. После этого вы можете установить стороннее приложение, а затем восстановить разрешение на рисование приложений для любых приложений, которые вам нравятся.
@user3829751 user3829751 Проблема безопасности заключается в том, что вредоносное приложение обманом заставляет вас нажать «Установить». Например, нарисуйте что-нибудь поверх дисплея разрешений, чтобы вы думали, что установка приложения безопасна, когда это не так. Или нарисуйте больше диалогового окна, чтобы вы вообще не осознавали, что устанавливаете приложение. Поэтому, когда оверлей активен, кнопка установки вообще не нажимается. OTOH, заставить вас нажать кнопку «Отмена» безвредно. (Однако это ошибка пользовательского интерфейса, потому что телефон не объясняет, почему вы не можете установить приложение.)
@user3829751 user3829751 нет, нажатие кнопки отмены не устанавливает приложение. Это пока точка кнопки! Это системное (привилегированное) диалоговое окно, запрашивающее у пользователя разрешение на установку приложения. Только пользователь, нажимающий кнопку «Установить», разрешает установку приложения. (Некоторые системные приложения, такие как Play Store, могут устанавливать приложения без диалогового окна, но обычные приложения не могут)
@derobert Как заставить вас безвредно нажать кнопку «Отмена», когда вы можете запустить ту же самую логику, что и при рисовании над кнопкой «Установить»? Они оба запустят процесс установки, верно?
@user3829751 user3829751 нет, не будут. Эта логика обеспечивается системой Android, а не вашим приложением. Вы не можете изменить это.
@derobert Итак, вы можете изменить поведение при рисовании кнопки установки, но не кнопки отмены? Это просто не имеет смысла.
@user3829751 user3829751 нет, вы не можете изменить поведение любой кнопки. Кнопка установки всегда устанавливает приложение, кнопка отмены не устанавливает его. Что приложение может сделать, так это запутать пользователя (например, рисуя новые метки сверху или поддельное уведомление о разрешении, поддельное имя приложения и т. д.).
@derobert Понятно, что-то вроде фишинговой атаки. Спасибо, что просветили меня!
К вашему сведению, если вы используете что-то вроде 'scrcpy', вы можете просто <TAB> перейти к кнопке установки с помощью клавиатуры и нажать Enter.

Ниже приведен список некоторых известных/популярных приложений, которые имеют разрешение «Рисовать поверх других приложений» и могут вызывать эту проблему:

  • Сумерки
  • Пиксельный фильтр
  • Facebook-мессенджер
  • Аккумуляторная смесь
  • Искатель Samsung S
  • DU-рекордер
  • Люкс Лайт