如何实现android清理后台时,自己的软件不被清理
16lz
2021-12-24
- 在配置文件AndroidManifest.xml应用的application节点添加android:persistent=”true”,保证该应用程序所在进程不会被LMK杀死。提高软件运行的优先级。注:只设置android:persistent=”true”仍然会被杀死的情况。
- 在activity的 onStop()执行时,启用一个像素的悬浮窗防止应用被清理,代码如下:
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 = 1; wmParams.height = 1; wm.addView(button, wmParams); // 创建View
更多相关文章
- 使用shape来定义控件的一些显示属性
- Android(安卓)背景透明度设置和设置GridView元素间距
- Android(安卓)Studio设置 标题栏隐藏, 状态栏隐藏, 改变状态栏文
- Android_TextView属性XML详解
- Android各类属性记录详解,如Edittext
- 利用HTML5开发Android
- Android(安卓)init.rc的property触发机制
- Android:TextView属性大全
- Android(安卓)Studio快捷键设置成跟Eclipse一样