A handheld electronic device (2,52,52') includes a processor (4); a battery (6); a flash device (10); a number of loads (14) powered by the battery; and a flash driver (16) outputting a flash current (12) to the flash device. The processor determines (83,30,32) a temperature (18) operatively associated with the battery and different voltage values (20) corresponding to different combinations of the loads as a function of the determined temperature, and starts (36) the flash device at a predetermined flash current value. The flash driver selects (38) a corresponding different voltage value as a function of: (a) a determined number of the loads which are active, or (b) a current flowing from the battery; determines (40) the battery voltage, and if the battery voltage is less than or equal to the corresponding different voltage value, reduces (42) the flash current below the predetermined flash current value until the battery voltage is greater than the corresponding different voltage value,