Android 在没有写入外部存储权限的情况下将声音设置为铃声?
据我所知,要将声音设置为铃声,应将其插入MediaStore。对于在MediaStore中写入,需要具有写入外部存储权限。但是有没有一种方法可以将声音(例如外部存储器中的MP3文件)设置为铃声而不需要写入外部存储器权限?您应该使用Android的Android 在没有写入外部存储权限的情况下将声音设置为铃声?,android,Android,据我所知,要将声音设置为铃声,应将其插入MediaStore。对于在MediaStore中写入,需要具有写入外部存储权限。但是有没有一种方法可以将声音(例如外部存储器中的MP3文件)设置为铃声而不需要写入外部存储器权限?您应该使用Android的铃声管理器。有一个名为[setActualDefaultRingtoneUri](,int,android.net.Uri)的方法: 公共静态void setActualDefaultRingtoneUri(上下文,int 类型,Uri ringtone
铃声管理器。有一个名为[setActualDefaultRingtoneUri](,int,android.net.Uri)的方法:
公共静态void setActualDefaultRingtoneUri(上下文,int
类型,Uri ringtoneUri)
设置给定声音类型的默认声音的Uri
参数
- 上下文:用于查询的上下文
- 类型:应设置其默认声音的类型。
TYPE\u铃声
、TYPE\u通知
或TYPE\u报警
- ringtoneUri:指向要设置的默认声音的Uri
您可以使用file.toURI()
获取文件的Uri,谢谢。它可以工作,但当我转到“声音设置->通知声音”时,我看到的不是我的声音被选中,而是“未知”,并且没有选择任何声音。@SergioViudes,同样的问题在这里,我看到了未知的命名声音,甚至声音文件在铃声列表中也不存在,你对此做了什么,请分享。目前为止有什么解决方案吗?