要保持Android服务在应用关闭时继续运行,并从应用托盘中移除,你可以按照以下步骤进行操作:
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 在此执行你的服务逻辑
// 返回START_STICKY以确保服务在被系统杀死后可以重新启动
return START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
Intent serviceIntent = new Intent(this, MyService.class);
startService(serviceIntent);
}
@Override
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
这样,即使你的应用在后台被系统杀死,你的服务仍然会继续运行,并且应用图标会从应用托盘中移除。