### ~~我不想死啊~~ ![](https://someonedeng-1253259777.cos.ap-guangzhou.myqcloud.com/blog/image/qq_pic_merged_1536227610039.jpg) 写了个Android端的网络悬浮窗,但是经常被系统(Android Oreo)把后台杀掉, 就查了很多如: ~~如何让android app像***流氓安全管家一样不被轻易杀死(~~ 做了以下工作: #### service 被杀的时候发一个广播奶自己一口 ``` java @Override public void onDestroy() { stopForeground(true); Intent intent = new Intent(getString(R.string.BACK_SERVICE_NAME)); sendBroadcast(intent); super.onDestroy(); } ``` ``` java public class ProtectBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(context.getString(R.string.BACK_SERVICE_NAME))) { Toast.makeText(context, "Traffic Service Restarting..", Toast.LENGTH_SHORT).show(); Intent intentStart = new Intent(); intentStart.setClass(context, BackService.class); context.startService(intent); } } } ``` 但好像没啥用,因为连`destroy` 方法都**没来的及**执行。。。 #### Service的启动命令 改为`Sticky` ``` java @Override public int onStartCommand(Intent intent, int flags, int startId) { return START_STICKY; } ``` #### 开守护进程 开两个service,互相唤醒 > 在Android 8.0 上好像没啥用。。 #### 最后 ~~没辙~~ 下了个软件把app转为系统app...做个~~流氓软件~~还挺难哈。。 ![](https://someonedeng-1253259777.cos.ap-guangzhou.myqcloud.com/blog/image/qq_pic_merged_1536227719895.jpg)