在我的程序中,我想通过文件路径保存所选铃声,然后稍后将其设置为当前铃声。
我从RingtonePreference获取了铃声uri,并从MediaStore数据库中获取了它的文件路径。
例如:
Uri - content://media/internal/audio/media/29 Path - /system/media/audio/notifications/Ascend.mp3
现在,我该如何从我保存的文件路径中获取铃声Uri?
由于铃声已经存在于MediaStore中,我尝试了以下函数,但它不起作用。 uriRingtone = MediaStore.Audio.Media.getContentUriForPath(szRingtonePath);
这个Uri与我从RingtonePreference得到的不同。 uriRingtone - content://media/internal/audio/media
我该如何查询MediaStore以获取我需要的Uri?
顺便说一下,我不直接存储铃声Uri的原因是我发现在某些设备上,相同铃声的Uri有时会更改。
我从RingtonePreference获取了铃声uri,并从MediaStore数据库中获取了它的文件路径。
例如:
Uri - content://media/internal/audio/media/29 Path - /system/media/audio/notifications/Ascend.mp3
现在,我该如何从我保存的文件路径中获取铃声Uri?
由于铃声已经存在于MediaStore中,我尝试了以下函数,但它不起作用。 uriRingtone = MediaStore.Audio.Media.getContentUriForPath(szRingtonePath);
这个Uri与我从RingtonePreference得到的不同。 uriRingtone - content://media/internal/audio/media
我该如何查询MediaStore以获取我需要的Uri?
顺便说一下,我不直接存储铃声Uri的原因是我发现在某些设备上,相同铃声的Uri有时会更改。
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
或MediaStore.Audio.Media.INTERNAL_CONTENT_URI
来访问根URI。 - Rob Rose