If your cell phone battery takes a long time to charge, the charger you are using is probably damaged or you are simply using a poor quality generic charger.
In any case, what happens is that you are using a charger that offers little output current, despite what the values written on the side of the charger say. This is considering that the USB cable works well, as a cable in poor condition can also affect the charging speed.
App to check the status of the charger
To find out if the charger you are using is damaged, you can use a useful application such as Ampere, which you can download for free from the Play Store.
Once installed, you just have to see the values shown by the application, both when the charger is connected (green color) and when it is disconnected from the socket (yellow color). Yes, the idea is that the sum of these two values is equal or similar to the value shown by our charger.
For example, above you can see that the Ampere app shows an average of 1810mA and 200mA with the charger plugged in and unplugged respectively. The sum of both values gives us 2010 mA, which is pretty much the same value as what the charger says it offers as a maximum: 2.0 A, or the same 2000 mA.
This means that the charger is in good condition. If the sum of the values displayed by Ampere does not give us a value acceptably similar to what the charger says, then we probably have a damaged, faulty or non-functioning charger (its cable or assembly).
The fact that the sum of the charge and discharge values displayed by Ampere is not the same as that specified by the charger does not necessarily mean that the charger is damaged, however. For example, my Samsung mini cell phone came with a 700mA charger for some reason.
If I use a 2000mA charger like the one pictured above (I could definitely use it without a problem), I probably won’t see a load greater than 500 or 600mA (value in green) and a discharge of 200 or 100mA (value in yellow).
This would mean that the cell phone does not accept more than 700mA from the charger, as it is an old cell phone. In this case it is obviously not a damaged charger, but a limitation of the mobile phone.
This app works for devices running Android 4.0.3 or later. It does not work on all devices, because on some Android phones there is no appropriate support for making these measurements, as indicated by the developer.
Note: if the application indicates a value of 0mA, you have to go to Settings (by tapping the gear button at the top), choose “Basic settings” and there activate the “Advanced measurement” box.
With the Ampere application it is possible to check if the original charger is supplying the current indicated in its specifications to the mobile phone.
If the value is acceptably similar, we are talking about a good charger and otherwise a damaged charger (or cable) or a poor quality generic. The app doesn’t offer exact values, but the approximate information it indicates is enough to test the chargers and keep the fastest one.