// 未分类
不被轻易杀死
发布 2018-09-30 · 永久链接
no excerpt about this article
### ~~我不想死啊~~

写了个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...做个~~流氓软件~~还挺难哈。。
