AlynxZhou / alynx-live-wallpaper

An android app that allows you choose a video as wallpaper.
https://livewallpaper.alynx.xyz/
Apache License 2.0
94 stars 37 forks source link

Cannot create card using file from internet #6

Closed maxx2478 closed 4 years ago

maxx2478 commented 4 years ago

It uses content:// uri instead of absolute or path uri, everytime i add a video from internet, it says invalid file. Is there any way to change it to allow absolute uri too? Also I tried to find how to convert absolute uri to content uri, but none of them worked. Please suggest what to do.

AlynxZhou commented 4 years ago

No, this app does not support internet connection, so you should download video by youself, and select your downloaded video. Using path needs storage permission, but using file chooser with concent uri is enough for this app.

maxx2478 commented 4 years ago

Actually I've implemented feature to download from internet, then I fetched the Uri of the file (file:///storage..) and even got the content uri (content://media/external...)

but, your app only accepts uri like of the format : content://com.android.providers.downloads.documents...

Is there any way to generate the accepted uri?

AlynxZhou commented 4 years ago

I think you don't need to generate a uri like this, this kind of uri is used when you choose file with content provider.

I think I make no limit of what uri should looks like, and just pass uri to thumbnail generator and exoplayer, so if your uri is acceptable for them, it should work.

I can not remember those because I've write them for a long time, so I think you'd better read the code.

maxx2478 commented 4 years ago

Thanks for the reply. Actually it doesn't accept uris other than: content://com.android.providers..

if it gets other than this, it says 'invalid live wallpaper file, removing.'

I've also studied your code for days, when it opens intent to choose video file, it returns the content uri (just like the above one). But, without using intent, we get other forms of uri only, and not the content provider uri one.

It would be really helpful for me if you enlighten me.