Are "adaptive_fast_charging"/"super_fast_charging"/"wireless_fast_charging" available for writing?

Hi Samsung developers community. Maybe someone has information according using Samsung specific properties adaptive_fast_charging/super_fast_charging/wireless_fast_charging. It is possible to read/write to these properties in Android 11 and Android 12 using android.provider.Settings.System#putInt but the same actions fail on Android 10 and Android 13.

Stack-trace of exceptions which is gotten on attempting to disable/enable fast charging
You cannot keep your settings in the secure settings.

vjava.lang.IllegalArgumentException: You cannot keep your settings in the secure settings.
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:172)
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
android.content.ContentProviderProxy.call(ContentProviderNative.java:732)
android.provider.Settings$NameValueCache.putStringForUser(Settings.java:3197)
android.provider.Settings$System.putStringForUser(Settings.java:4189)
android.provider.Settings$System.putStringForUser(Settings.java:4173)
android.provider.Settings$System.putStringForUser(Settings.java:4167)
android.provider.Settings$System.putIntForUser(Settings.java:4312)
android.provider.Settings$System.putInt(Settings.java:4305)

Does anyone know whether there is any chance to get access to these properties on Android 10/Android 13
Regards, Mykola

Hello there Nikolay

Did you check if this issue occurs on other Android 13 devices too (such as the pixel devices)? Or is this issue exclusive to Samsung devices only?

Hi, thank you for response. These properties are Samsung specific properties

Hi Nikolay.
Oh. Which device(s) did you test this on?
Also, it would be helpful if you could provide some sample code/project for testing the issue.

Hi. This issue is met on any Samsung smartphone which has Android 13. I have attached example project
WriteToAdaptiveFastChargeProperty.zip (386.3 KB)

First step to press the button “allow write to settings permission”, after this you can test by pressing on buttons: “write 0 to adaptive fast charge” and “write 1 to adaptive fast charge
The function executed when these buttons are pressed:

com.example.writetoadaptivefastchargeproperty.MainActivity#writeToAdaptiveFastCharge

Which does one main thing:

android.provider.Settings.System#putInt

Hi @EA01, Could you please provide me any help, really want to get my application working on Android 13 not only Android 11 and Android 12

So, you can skip answer, google play store removed my app from the store, they claim that it is not possible to programmatically toggle fast charging, several times I tried to explain that it is Samsung specific feature but they do not believe me

Hello Mykola,

The fast charging options are not available for writing for third-party applications.
To change these options please guide your users to use “Settings → Battery and Device Care → Battery → More Battery Settings”. From there the user can toggle each of these options individually.

We are sorry for the inconvenience.

Best Regards,
Mobassir Ahsan
Samsung Developer Relations

As you know the way you suggest is not useful, a lot of people ask to provide some functionality which allows to do it quickly since it might several times per day when I want to toggle fast charging: when the evening I do not need fast charging, when I rush and need to get full battery I enable fast charging, so proposed the way by you is not convenient

Unfortunately, we cannot use putInt() anymore. I use this instead GitHub - topjohnwu/libsu: A complete solution for apps using root permissions. Then I do ShellUtils.fastCmd(“settings put system adaptive_fast_charging 0”); Let me know if it works for you.