"Sounds keeps stopping" message; can't change Ringtone or other Notification sounds

:tada:

I’ve been able to fix it :nerd_face:. Thanks @hirnsushi for showing me how to get the logs.

I’ll leave the solution here for anyone else to find it:

Root Cause of this :lady_beetle:

Using some file manager app (e.g. Amaze) to select the ringtone results in a setting being stored that crashes the com.android.soundpicker.

Symptoms

  • Your selected ringtone will not play
    • since the com.android.soundpicker handles this and it cannot parse the setting so it defaults to the default sound
  • You cannot undo the mistake inside the Android UI
    • since com.android.soundpicker cannot start with the existing setting, but it’s the only app that would store a correct setting

Solution: adb shell to the rescue

Luckily one can set the settings manually through adb:

1. Preparation

2. Get Settings

List all system settings:

adb shell settings list system
  • Look for: alarm_alert=, notification_sound=, and ringtone=
  • Any entry which does NOT start with content://0@media will probably crash
  • In my case the problem was ringtone=content://0@com.amaze.filemanager/storage_root/storage/emulated/0/Ringtones/monk_theme.mp3

3. Get one of the not broken alarm settings

adb shell settings get system notification_sound

In my case this returns:

content://0@media/external/audio/media/30?title=Snappy&canonical=1

Since the above seems to be a default android sound you can probably just copy it

4. Overwrite the settings that cause com.android.soundpicker to crash

adb shell settings put system ringtone content://0@media/external/audio/media/30?title=Snappy&canonical=1

5. :tada: Use Android UI again

Now you can use the Android UI again to change the sound settings as com.android.soundpicker will no longer crash.
Remember to only use the soundpicker to set your ringtones. Otherwise you might need to do the whole ceremony again :wink:

3 Likes