Can a plugin deactivate itself?

As far as I know, a plugin can be deactivated in these conditions:

  • manual deactivation
  • failed plugin upgrade
  • remove or rename the containing folder
  • changing the active plugin list in the database

Hopefully someone else will come through and add to this if I missed any.