本篇介绍一下跳转到系统铃声选择界面,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. Android(安卓)API demos 阅读笔记 4
  2. android添加reboot选项
  3. android 修改开关机铃声
  4. ActionBar setDisplayOptions 使用详解
  5. android AudioManager类 详解
  6. 解决小米手机不能运行Android(安卓)Studio程序的问题
  7. Android(安卓)Studio 自动检查依赖库是否有新版本
  8. 设置Android铃声代码例子
  9. Libcurl库移植指南(下)--编译支持https的libcurl库

随机推荐

  1. Android -----listView的属性大全
  2. android 异常 汇总
  3. android常见编译错误
  4. AndroidAZ系列:ContentProvider(All,Face
  5. Android(安卓)还可以走多久?
  6. Android dependency 'android.arch.core:
  7. Android下载 文件(APP) 并且静默安装
  8. Kotlin概述之Kotlin for Android
  9. Android比较字符串是否为空(isEmpty)
  10. Mac下获取SHA1