您的位置:首页 > 移动开发 > Android开发

如何实现android清理后台时,自己的软件不被清理

2016-11-28 13:00 633 查看
 


如何实现android清理后台时,自己的软件不被清理

标签: androidapplication
2016-07-01 10:23 191人阅读 评论(0) 收藏 举报


 分类:

android(33) 


版权声明:本文为博主原创文章,未经博主允许不得转载。

在配置文件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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息