设置默认来电铃声

本文介绍了一种在Android设备上通过编程方式设置指定音乐文件为默认铃声的方法。该方法涉及创建并修改多媒体数据库记录,然后使用RingtoneManager API来指定这首曲目作为新的系统铃声。

view plaincopy to clipboardprint?

public void setMyRingtone()  

    {  

   File k = new File("/sdcard/Shall We Talk.mp3"); // 设置歌曲路径  

    ContentValues values = new ContentValues();  

    values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());  

    values.put(MediaStore.MediaColumns.TITLE, "Shall We Talk");  

    values.put(MediaStore.MediaColumns.SIZE, 8474325);  

    values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");  

    values.put(MediaStore.Audio.Media.ARTIST, "Madonna");  

    values.put(MediaStore.Audio.Media.DURATION, 230);  

    values.put(MediaStore.Audio.Media.IS_RINGTONE, true);  

    values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);  

    values.put(MediaStore.Audio.Media.IS_ALARM, false);  

    values.put(MediaStore.Audio.Media.IS_MUSIC, false);  

    // Insert it into the database  

    Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());  

    Uri newUri = this.getContentResolver().insert(uri, values);  

    RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);  

    ;} 

public void setMyRingtone()

    {

   File k = new File("/sdcard/Shall We Talk.mp3"); // 设置歌曲路径

    ContentValues values = new ContentValues();

    values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());

    values.put(MediaStore.MediaColumns.TITLE, "Shall We Talk");

    values.put(MediaStore.MediaColumns.SIZE, 8474325);

    values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");

    values.put(MediaStore.Audio.Media.ARTIST, "Madonna");

    values.put(MediaStore.Audio.Media.DURATION, 230);

    values.put(MediaStore.Audio.Media.IS_RINGTONE, true);

    values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);

    values.put(MediaStore.Audio.Media.IS_ALARM, false);

    values.put(MediaStore.Audio.Media.IS_MUSIC, false);

    // Insert it into the database

    Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());

    Uri newUri = this.getContentResolver().insert(uri, values);

    RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);

    ;}

 

需要的权限

 

view plaincopy to clipboardprint?

<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission> 

转载于:https://www.cnblogs.com/zisexingchen/p/3295511.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值