本篇介绍一下跳转到系统铃声选择界面,android中的铃声通过RingtoneManager管理,RingtoneManager管理来电铃声(TYPE_RINGTONE)、提示音(TYPE_NOTIFICATION)、闹钟铃声(TYPE_ALARM)等,RingtoneManager的常用方法包括:1.getRingtone() //获取铃声2.getDefaultUri() //获取某一铃声类型的默认铃声3.setActualDefaultRingtoneUri() //为某一铃声类型设置默认铃声4.getActualDefaultRingtoneUri(); //获取默认铃声

关于铃声管理,如果你想深究,那就需要到Framework中去查看了,本着实用的考虑,本次不做深挖!!

贴上代码:

import android.app.Activity;import android.content.Context;import android.content.Intent;import android.media.RingtoneManager;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Button btn1 = null;private static final int Ringtone = 0;private Context mContext;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mContext = this;setContentView(R.layout.activity_main);btn1 = (Button) this.findViewById(R.id.Button01);btn1.setOnClickListener(new Button.OnClickListener() {public void onClick(View arg0) {// TODO Auto-generated method stub// 打开系统铃声设置Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);// 设置类型为来电// intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,// RingtoneManager.TYPE_RINGTONE);// 列表中不显示"默认铃声"选项,默认是显示的intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT,false);// 列表中不显示"静音"选项,默认是显示该选项,如果默认"静音"项被用户选择,// 则EXTRA_RINGTONE_PICKED_URI 为null// intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT,false);intent.putExtra(RingtoneManager.EXTRA_RINGTONE_INCLUDE_DRM,true);// 设置列表对话框的标题,不设置,默认显示"铃声"intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置来电铃声");startActivityForResult(intent, Ringtone);}});}/** * 设置铃声之后的回调函数 */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode != RESULT_OK) {return;} else {// 得到我们选择的铃声,如果选择的是"静音",那么将会返回nullUri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);Log.e("onActivityResult====", "" + uri);Toast.makeText(mContext, uri + "", 500).show();if (uri != null) {switch (requestCode) {case Ringtone:RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_RINGTONE, uri);break;}}}}}


代码中有注释,就不过多废话了!!

贴上一张效果图:

选中铃声,点击“确定”按钮之后,就会立即回调onActivityResult()方法,关于铃声管理方面的内容就先说到这里!!

更多相关文章

  1. Android5.0通知变化浅析
  2. LinearLayout按下(pressed)或获取焦点(focused)时背景设置不同颜
  3. android背景选择器selector用法汇总
  4. Android中WebView控件的使用
  5. android dp 和 px 的相互转换
  6. Android中关于手机震动
  7. Android(安卓)的系统属性(SystemProperties)设置分析
  8. 修改android Launcher
  9. 升级Android(安卓)Studio3.1.3,gradel无法加载pom和类库

随机推荐

  1. Android编译系统详解(三)——编译流程详
  2. Android跨线程消息机制
  3. Android 上八款优秀的开源游戏引擎
  4. android软件工程师实战开发零基础到高级
  5. Android sdk 3.0 sdk3.1 sdk3.2 平板开发
  6. android 邮件
  7. Android开发屏幕适配全攻略
  8. Android(安卓)后台任务(六)IntentService
  9. Android之不同Activity之间的数据传递
  10. android 设置activity启动退出动画 | 解