1. A computer-implemented method comprising: detecting, by a mobile computing device, a current context associated with the mobile computing device, the current context being external to the mobile computing device and indicating a current state of the mobile computing device in its surrounding environment, wherein the current context includes information that identifies a received signal strength, at the mobile computing device, of a short or medium-range wireless network that the mobile computing device is currently able to access, and wherein the current context further includes information from a scheduling application that identifies scheduled activities for a user who is associated with the mobile computing device; comparing the received signal strength to a plurality of values of received signal strengths for the short or medium-range wireless network, the plurality of values of received signal strengths being associated with a plurality of different physical locations; identifying, based on at least the comparison of the received signal strength to the plurality of values of received signal strengths, a particular physical location where the mobile computing device is currently located from among the plurality of different physical locations from which the mobile computing device is able to access the short or medium-range wireless network; determining, based on the current context, a current activity of the user; determining, based on the identified particular physical location and the determined current activity of the user, whether to switch the mobile computing device from operating using a current profile to operating using a second profile, wherein the current profile and the second profile each define one or more settings of the mobile computing device, and wherein determining whether to switch the mobile computing device to operating using the second profile is based on applying one or more learned rules to the identified particular physical location and the determined current activity of the user; and in response to determining whether to switch to the second profile, adjusting one or more setting of the mobile computing device based on the second profile, further comprising, over a period of time before determining whether to switch the mobile computing device to operating using the second profile, defining the rules based on user adjustment of the settings of the mobile computing device and a detected context or change in context of the mobile computing device at or around a time the settings were adjusted.