没有WRITE_EXTERNAL_STORAGE权限将声音设置为铃声?

时间:2015-10-19 16:40:37

标签: android

据我所知,要将声音设置为铃声,应将其插入MediaStore。对于在MediaStore中写入,需要WRITE_EXTERNAL_STORAGE权限。但是......有没有办法将声音(例如外部存储设备中的MP3文件)设置为铃声而不需要WRITE_EXTERNAL_STORAGE权限?

1 个答案:

答案 0 :(得分:1)

您应该使用Android的RingtoneManager。有一种方法叫[setActualDefaultRingtoneUri](http://developer.android.com/reference/android/media/RingtoneManager.html#setActualDefaultRingtoneUri(android.content.Context,int,android.net.Uri)):

  

public static void setActualDefaultRingtoneUri(Context context,int   type,Uri ringtoneUri)

     

为给定的声音类型设置默认声音的Uri。

     

参数

     
      
  • context:用于查询的上下文。
  •   
  • type:应设置默认声音的类型。其中一个TYPE_RINGTONETYPE_NOTIFICATIONTYPE_ALARM
  •   
  • ringtoneUri:指向要设置的默认声音的Uri。
  •   

您可以使用File.toURI()获取文件的Uri。