最近研究源码程序,改了改手机短信铃声的源码,最近总结了下铃声的代码,写个activity继承PreferenceActivity有:手机短信铃声,手机铃声,闹钟铃声,还有sdcard中的铃声,通过选择相应的铃声,然后读取到xml文件里面,通过读取preference.xml文件,intent传个参数进去intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, phoneUri);打开对话框的时候就默认选中上次被选中的音乐。程序流程:在onCreate()方法中加入addPreferencesFromResource(R.xml.preferences);加载xml文件。@Override重写onPreferenceTreeClick()方法,处理点击事件,在打开对话框铃声的时候,先读取xml文件,判断是否有值,如果有值,就传值intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, phoneUri);然后进行选择铃声。通过onActivityResult()接受传递过来的uri,系统默认的铃声是通过data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);方法来获取uri的,而sdcard中的铃声通过Uri pickedUri = data.getData();来获得选中的uri的,再然后通过editor.commit(); 来提交接受过来的uri和音乐的名字整个流程大概就是这样。想要代码的请留言留下邮箱!

大明原创,转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/6919653

下面请看截图:

第一次打开程序的界面:点击“选择短信铃声”后的界面:

选择铃声的dialog后的界面: 点击“选择手机铃声”后的界面:

点击“选择手机铃声”后的界面:点击“选择闹钟铃声”后的dialog界面:

点击“选择sdcard中的铃声”后的界面: 点击“选择曲目”后弹出sdcard的界面:

下面代码附上:

在SoundSettingActivity这个工程下面:

一、在com.cn.android.daming包的SoundSettingMainActivity.java类中的代码:

二、在res目录下加入xml文件,加入preferences.xml中的代码:

三、在values目录下的string中的代码:


四、在AndroidManifest.xml中的代码:


完整代码下载地址:http://download.csdn.net/detail/wdaming1986/3736718

更多相关文章

  1. Android(安卓)Widget事件
  2. 新建Android项目的时候,选择SDK的区别
  3. 在Eclipse中设置Android模拟器屏幕大小
  4. Android(安卓)Unable to resolve target 'android-8'
  5. Android打包时我们如何选择平台(ABI)
  6. Mac OS 10.10.3 下 AndroidStudio单元测试
  7. [Android(安卓)UI界面] ListView与arrays.xml结合使用的问题
  8. Android(安卓)开发环境的搭建
  9. android下eclipse中的Logcat 查看system.out.print()输出设置

随机推荐

  1. mysql 8.0.18各版本安装及安装中出现的问
  2. Windows下mysql-5.7.28下载、安装、配置
  3. Linux下修改MySQL数据库数据文件路径的步
  4. mysql 8.0.18 mgr 搭建及其切换功能
  5. MySQL 8.0.18使用clone plugin重建MGR的
  6. Android中检测App是否安装的方法.
  7. Android(安卓)Training - 使用IntentServ
  8. Android自定义属性,format
  9. Android(安卓)SpannableString使用例子
  10. android Manifest.xml选项