手机QQ后台清理不掉的秘密——anddroid悬浮窗

摘要:
问题来自一篇文章:为什么手机QQ的背景无法清除?这意味着一键清理后QQ未被清除,或者清理后QQ自动启动。QQ的浮动窗口相对较小,应该是透明的,并将放置在侧面或角落。假设QQ始终处于通过这个浮动窗口的后台过程中,让我再次探索它。

问题来自于一篇文章:手机QQ后台为何清不掉?MIUIproject师:全靠1像素的页面保命

出于好奇,想知道这一像素究竟是啥东西,用手机安全管家控制QQ的悬浮窗权限:

关闭QQ的悬浮窗权限,通过后台一键清理,又一次打开QQ,发现是从splash開始的;

打开QQ的悬浮窗权限,一键清理后,打开QQ。发现是直接进入主界面的。说明一键清理未清理QQ,或者清理之后,QQ又自启动了。

至于。是未被清理还是自启动,后面再探究一下。这里就说说这个一像素的悬浮窗。

        Button button = new Button(getApplicationContext());
        WindowManager wm = (WindowManager) getApplicationContext()
                .getSystemService(Context.WINDOW_SERVICE);
        WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();

        /**
         * 下面都是WindowManager.LayoutParams的相关属性 详细用途请參考SDK文档
         */
        wmParams.type = LayoutParams.TYPE_PHONE; // 这里是关键,你也能够试试2003
        wmParams.format = PixelFormat.RGBA_8888; // 设置图片格式,效果为背景透明
        /**
         * 这里的flags也非常关键 代码实际是wmParams.flags |= FLAG_NOT_FOCUSABLE;
         * 40的由来是wmParams的默认属性(32)+ FLAG_NOT_FOCUSABLE(8)
         */
        wmParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
                | LayoutParams.FLAG_NOT_FOCUSABLE
                | LayoutParams.FLAG_NOT_TOUCHABLE;
        wmParams.width = 40;
        wmParams.height = 40;
        wm.addView(button, wmParams); // 创建View

加入权限

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

就这么简单加入了一个悬浮窗,无论返回launcher还是打开什么应用,都会一直显示这个button。

QQ的这个悬浮窗是做得比較小,应该还是透明的,还会放在靠边或者角落里,假设通过这个悬浮窗来保证QQ始终在后台进程,带我再探究一下。



免责声明:文章转载自《手机QQ后台清理不掉的秘密——anddroid悬浮窗》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vant-图片上传js调用本地office打开服务器的office文件预览下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android弹出输入提示框--PopupWindow实现

  前言  之前直接用Dialog实现了弹出对话框。现在尝试用更好地解决方案--PopupWindow类--来实现   1.首先搞一个弹出框布局,和之前类似。   这样的东西,它的布局是这样: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android...

屏蔽微信内置底部前进后退按钮(很迫切的需求)

在使用window.location.href进行页面跳转或者react内部项目使用 this.props.history.push进行页面跳转时,做好的h5页面放在微信里,底部会出选前进后退的按钮,如下图: 废话不多说,解决问题: 第一种情况:如果只是页面之间跳转,使用window.location.replace 代替window.location.h...

如何在winform DataGridView控件的DataGridViewButtonColumn按钮列中禁用按钮

原文:http://msdn.microsoft.com/en-us/library/ms171619(v=vs.85).ASPX public class DataGridViewDisableButtonColumn : DataGridViewButtonColumn { public DataGridViewDisableB...

单选按钮(radio)的取值和点击事件

笔记走一波:获取单选按钮(radio)的选中值,以及它的点击事件的实现 首先要引入Jquery <script type="text/javascript" src="js/jquery-3.1.1.min.js"> 下面是一个简单的表单 <!-- 单选按钮的取值和点击事件--> <form action="#" metho...

ANDROID L——Material Design综合应用(Demo)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Material Design: Material Design是Google推出的一个全新的设计语言,它的特点就是拟物扁平化。 我将Material Design分为例如以下四部分: 主题和布局——ANDROID L——Material...

Xamarin.Forms 学习系列之优秀UI收集

1、各种优秀UI例子 https://github.com/jsuarezruiz/xamarin-forms-goodlooking-UI 输入框例子 https://github.com/enisn/Xamarin.Forms.InputKit 浮动操作按钮  https://github.com/SuavePirate/Xamarin.Forms...