如何编写程序设置Android来电铃声

来源:互联网 发布:windows 网络监控 编辑:程序博客网 时间:2024/04/30 01:01

  我们在拿到新手机后通常会为其设置来年铃声,那么怎样通过代码来设置Android来电铃声,本文就为大家实例讲解下。

  如果读到的是音频文件路径,需要先将音乐文件插入到多媒体库。

  1. //设置--铃声的具体方法     
  2.     public void setMyRingtone(String path)     
  3.     {      
  4.       File sdfile = new File(path);     
  5.       ContentValues values = new ContentValues();     
  6.       values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());     
  7.       values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());     
  8.       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");       
  9.       values.put(MediaStore.Audio.Media.IS_RINGTONE, true);     
  10.       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);     
  11.       values.put(MediaStore.Audio.Media.IS_ALARM, false);     
  12.       values.put(MediaStore.Audio.Media.IS_MUSIC, false);     
  13.           
  14.       Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());     
  15.       Uri newUri = this.getContentResolver().insert(uri, values);     
  16.       RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);     
  17.       Toast.makeText( getApplicationContext (),"设置来电铃声成功!", Toast.LENGTH_SHORT ).show();     
  18.       System.out.println("setMyRingtone()-----铃声");     
  19.     }     
  20.     
  21.   //设置--提示音的具体实现方法     
  22.     public void setMyNotification(String path)     
  23.     {     
  24.        
  25.       File sdfile = new File(path);       
  26.       ContentValues values = new ContentValues();     
  27.       values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());     
  28.       values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());     
  29.       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");       
  30.       values.put(MediaStore.Audio.Media.IS_RINGTONE, false);     
  31.       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);     
  32.       values.put(MediaStore.Audio.Media.IS_ALARM, false);     
  33.       values.put(MediaStore.Audio.Media.IS_MUSIC, false);     
  34.           
  35.       Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());     
  36.       Uri newUri = this.getContentResolver().insert(uri, values);     
  37.           
  38.       RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, newUri);     
  39.       Toast.makeText( getApplicationContext (),"设置通知铃声成功!", Toast.LENGTH_SHORT ).show();     
  40.       System.out.println("setMyNOTIFICATION-----提示音");     
  41.     }     
  42.   //设置--闹铃音的具体实现方法     
  43.   public void setMyAlarm(String path)     
  44.     {     
  45.       File sdfile = new File(path);       
  46.       ContentValues values = new ContentValues();     
  47.       values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());     
  48.       values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());     
  49.       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");       
  50.       values.put(MediaStore.Audio.Media.IS_RINGTONE, false);     
  51.       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);     
  52.       values.put(MediaStore.Audio.Media.IS_ALARM, true);     
  53.       values.put(MediaStore.Audio.Media.IS_MUSIC, false);     
  54.           
  55.       Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());     
  56.       Uri newUri = this.getContentResolver().insert(uri, values);     
  57.       RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, newUri);     
  58.       Toast.makeText( getApplicationContext (),"设置闹钟铃声成功!", Toast.LENGTH_SHORT ).show();     
  59.       System.out.println("setMyNOTIFICATION------闹铃音");     
  60.     }   


0 0