使用“SYSTEM_ALERT_WINDOW”权限时无法单击安装按钮

时间:2011-11-26 12:41:33

标签: android-manifest android-install-apk

使用我的应用程序时,

无法点击安装按钮。

我使用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 个答案:

答案 0 :(得分:1)

仅删除窗口并在安装后启动..

答案 1 :(得分:1)

首先,试试这段代码。

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;    

它可能会很好。 但是单击安装按钮时仍然无法单击您的视图:单击安装按钮时可以在视图外单击。

答案 2 :(得分:1)

这是因为你在窗口“填充”所有屏幕。试试这个以显示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);

答案 3 :(得分:0)

这是Android中的安全措施。没有解决方法。 https://blog.lookout.com/blog/2010/12/09/android-touch-event-hijacking/