невозможно нажать кнопку «Установить» при использовании разрешения «SYSTEM_ALERT_WINDOW» - PullRequest
1 голос
/ 26 ноября 2011

не могу нажать кнопку «Установить» во время использования моего приложения.

Я использую разрешение SYSTEM_ALERT_WINDOW.

Ниже моего кода:

new WindowManager.LayoutParams( WindowManager.LayoutParams.FILL_PARENT,
                 WindowManager.LayoutParams.FILL_PARENT,
                 WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                 WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
                 WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
                 PixelFormat.TRANSLUCENT);

Если использовать мое приложение, можнонажмите кнопку «Установить» во время установки apk-файла.

Как использовать кнопку «Установить»?

Ответы [ 4 ]

1 голос
/ 26 марта 2012

сначала попробуйте этот код.

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                  WindowManager.LayoutParams.WRAP_CONTENT,      
                  WindowManager.LayoutParams.WRAP_CONTENT,              
                  WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,   
                  WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,     
                    PixelFormat.TRANSLUCENT);   

и если вы хотите дать позицию, используйте это. положение по умолчанию - центр.

params.gravity = Gravity.~~~~;

, если вы хотите, чтобы позиция снизу-справа, сделайте, как показано ниже код

params.gravity = Gravity.BOTTOM | Gravity.RIGHT;    

это будет нормально работать, может быть. но по-прежнему не может щелкнуть по вашему представлению при нажатии кнопки «Установить»: может щелкнуть за пределами вашего представления при нажатии на кнопку «Установить».

1 голос
/ 08 мая 2012

Это потому что у вас окно "заполняет" весь экран.Попробуйте это, чтобы показать окно 1px x 1px:

new WindowManager.LayoutParams( 1, 1,
             WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
             WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
             WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
             PixelFormat.TRANSLUCENT);
1 голос
/ 08 января 2012

Удалять только окна и запускать после установки ..

0 голосов
/ 11 марта 2014

Это мера безопасности в Android. Там нет обходного пути. https://blog.lookout.com/blog/2010/12/09/android-touch-event-hijacking/

...