A lithium-phosphate battery charging method, comprising: obtaining, after the start of charging of a battery, (S101, S301, S401) an electrical parameter of a battery (800, 900) based on determining, after the start of charging of a battery, whether a battery state of charge, SOC, is in a voltage jump phase or a voltage steady phase, wherein the battery SOC is in the voltage jump phase when the SOC corresponding to a charge duration is within a range of 0% to 20% or when the SOC corresponding to a charge duration is higher than 80%, and wherein the battery SOC is in the voltage steady phase when the SOC corresponding to a charge duration is within a range of 20% to 80%; in response to determining that the battery state of charge is in a jump phase: selecting voltage as the electrical parameter, in response to determining that the battery state of charge is in a voltage steady phase: selecting SOC as the electrical parameter, and obtaining (S101, S301, S401) the SOC of the battery (800, 900) based on a voltage of the battery (800, 900) and a temperature of the battery (800, 900) by looking up in a preset table of correspondences between the SOC of the battery (800, 900), the voltage of the battery (800, 900) and a temperature of the battery (800, 900); determining (S102, S302, S402) whether the electrical parameter of the battery (800, 900) reaches a preset threshold; suspending (S103, S303, S403), when the electrical parameter of the battery (800, 900) reaches the preset threshold, charging of the battery (800, 900) and discharging the battery (800, 900) for a duration of t, wherein t ≥ 3 seconds; and continuing to charge (S104, S306, S404) the battery when the discharge is completed; wherein the preset threshold may comprise one or more preset thresholds, and at least one of the one or more preset thresholds is selected within a value range of the electrical parameter corresponding to a SOC between 70% to 80%. obtaining, after the start of charging of a battery, (S101, S301, S401) an electrical parameter of a battery (800, 900) based on determining, after the start of charging of a battery, whether a battery state of charge, SOC, is in a voltage jump phase or a voltage steady phase, wherein the battery SOC is in the voltage jump phase when the SOC corresponding to a charge duration is within a range of 0% to 20% or when the SOC corresponding to a charge duration is higher than 80%, and wherein the battery SOC is in the voltage steady phase when the SOC corresponding to a charge duration is within a range of 20% to 80%; in response to determining that the battery state of charge is in a jump phase: selecting voltage as the electrical parameter, in response to determining that the battery state of charge is in a voltage steady phase: selecting SOC as the electrical parameter, and obtaining (S101, S301, S401) the SOC of the battery (800, 900) based on a voltage of the battery (800, 900) and a temperature of the battery (800, 900) by looking up in a preset table of correspondences between the SOC of the battery (800, 900), the voltage of the battery (800, 900) and a temperature of the battery (800, 900); determining (S102, S302, S402) whether the electrical parameter of the battery (800, 900) reaches a preset threshold; suspending (S103, S303, S403), when the electrical parameter of the battery (800, 900) reaches the preset threshold, charging of the battery (800, 900) and discharging the battery (800, 900) for a duration of t, wherein t ≥ 3 seconds; and continuing to charge (S104, S306, S404) the battery when the discharge is completed;