Announcements

Help Wizard

Step 1

NEXT STEP

Issue with storage option switching from SD Card to internal

Plan

Premium

Country

US 

Device

Moto X4

Operating System

Android Pie

 

My Question or Issue

 This happened with my last phone, Samsung S7 running Oreo (or whatever the most recent OS is) but it was fixed when I got the Moto X4. I like to keep a lot of songs downloaded offline because my service is terrible and I also spend a lot of time in the mountains. Before I I update my phone to the new Android Pie OS there was no problems. Now everytime I reset my phone I think spotify cannot see my SD card at first and tries to download all the music to its internal storage and I have to go back in and tell it to store it in the SD card. That is extremely annyoing but not the end of the world. What is really frustrating is that I think all of the downloaded songs are still on the SD card and just keep redownloading and taking up space. Eventually this will cause me to reformat the card which will be a major pain for me since I store a large amount of photos on there also. Is anyone else have this problem? I have already uninstalled and reinstalled the application so any other suggestions or help?

Hey there.

 

We just wanted to let you know that we've looked into this with the right folks now.

 

We are currently trying to resolve the issue. We don't have a timeframe for a fix, but we're really glad you let us know about this. If you have any other questions, just let us know!

 

Keep your app up-to-date and have a nice day 🙂

Comments
greenster

I have found a solution: Go to the settings of your Android phone and tap 7 times on the build number to activate the developer options.

Then go into the developer settings and look for the menu item: "Unlock external storage for all apps" and enable this feature.

Finally, go to the Android setting for Spotify and move Spotify to the external storage.

This works very reliably. Now you can enable your downloads again. And the downloads will stay on the external storage card.

This works very reliably for me since two weeks.

WillianWRM
At least here that is not enough to solve this problem.
I had to disable Spotify background (app info > battery usage >
restricted) and force-close it before every phone reboot.
Jmatteis_ca

What I have been doing is, before doing a restart, I turn off wifi.  That way when the phone reboots, the app can't start downloading music to the phone (I find that it takes longer to move the storage location if it has already started downloading).  Then once I go into the app and change the storage location (which lately hasn't been reverting on reboot) , then turn on wifi and it redownloads the music (which again, is just verifying the location but tedious anyhow)

In the past, I did the developer options, move to SD card thing, but I found when I started moving a bunch of apps to SD card, each reboot I would lost more internal space, like it was holding the internal space in system etc.  not sure if it was related to moving a bunch of apps to the SD card that normally wouldn't be there.

ebal58
Thanks for sharing! Unfortunately, I can't re-enable my Developer Options
because of hacker concern breaking into my wallet app (just advised today
by the app author). Good to know this worked for you and hopefully will
work the same with others. Good job tinkering!
Tenor79

I haven't read the thread and if I'm wrong I'm wrong but it seems to me like all you need to do is make sure that the Spotify app doesn't start syncing automatic downloads before the SD card has been mounted after a reboot. Maybe that's much easier said than done? 

dgs2-q_s9hk3h
That's exactly what you need to do. Spotify can't do it on their own
because they don't have access to the boot code. For most phones simply not
encrypting the SD card will fix the issue. The other work arounds are;
Turn developer options on and do force allow apps on external. Once done
install Spotify on the SD card tell it to save to the SD card and turn off
automatic updates. Both in the app and in Google Play, because google play
can't access the SD card and the updates will be installed to the internal.
Or even simpler before you restart the phone go into the 'app info' page
and choose 'app battery usage' and set it to 'restricted'. That will
prevent Spotify from running in the background, including starting in the
background. Wait until the SD card is loaded before changing the battery
setting back to 'optimized' and starting the app.

Of course a person could simply set aside a couple GB on the internal
drive. Each GB being 7 hours of play time at the highest quality or 23.2
hours at the normal quality....
Tenor79

To clarify my prior post: the "you" in "all you need to do" is directed at Spotify; why would they need access to the boot code to delay the start of their service? Why not just listen for a certain event that only occurs after the phone has been unlocked post-reboot before starting the service? Plus, YouTube Music allows selection of SD card for download storage, has automatic downloads, and doesn't have this issue.

dgs2-q_s9hk3h
They can't because there would need to be a triggering event that isn't
repeated. They can't program in a delay because that would need to be a
kernel event. YouTube is owned by google so they have access to the kernel
which allows them to add kernel events.They could possibly add code so that
Spotify doesn't open at all until it's manually opened. Which would do the
same thing as restricting the battery usage does. There's also the fact no
newer or flagship phones come with SD card slots and also the fact that
most cellphone plans (even cheap ones) come with GB's of data and any isp
that uses volte or equivalent have unlimited data. Streaming songs at
320Kb/s should be doable on 2g data without any issues so its only people
who are in remote locations who need to download songs, and lastly android
phones can run 90+ hours without needing to be restarted which means unless
you're going to be in that remote location for 4 days or more it shouldn't
come up. This feed is like 10 years old and nothing has been done yet...
just figured id let you know the work arounds🤷‍♂️....
marcellocaps

As mentioned previously irrespective of the operating system restrictions and the fact that Spotify are simply waiting for the end of SD card expansion, the battery restriction works, as does forcing the use of the SD card via the debug options in most cases.

 

Regarding the endless unnecessary streaming, this is simply not a good excuse if avoidable as it's a waste of energy (local battery and external servers etc) and just helps push the ever increasing demand for higher data transfer rates and bandwidth (Imagine when High fidelity descent quality audio becomes the norm).... Local storage has its benefits for many reasons.

Tenor79

@dgs2-q_s9hk3h thanks for the detailed explanation! In my normal day to day it's true that I don't really need to use the downloaded songs functionality (which is probably also true for most people as you pointed out). However, let's say that I'm traveling and have no high speed data connection or Wi-Fi signal and I planned ahead by downloading songs to SD card but then that same day I have need to use the downloaded songs I also end up needing to reboot my phone for any number of reasons and then my downloads are rendered inaccessible - that's happened to me in the past and is by no means frequent but it's really frustrating when it does happen.

 

I did some googling and I'm wondering if you think something like the suggestions offered here might have some merit? https://stackoverflow.com/questions/12748801/android-wait-for-external-storage-to-ready

Seems like Spotify service could use the methods identified in that post when the app is configured to use SD card for storage - if that's the case, wait until the volume is mounted; of course that won't happen until the device is unlocked and would need to be prepared for scenario of user not immediately unlocking device after reboot so if configured to use SD for storage and SD card isn't mounted yet then check is the device is unlocked and if it isn't then wait until it is then check to see if SD card is mounted again waiting a certain amount of time and if after that wait there's still no SD card mounted then switch to internal storage and start the service. IDK just thinking out loud here.