1、首先选中列表的铃声

Java代码
  1. private void doPickRingtone() {
  2. Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
  3. // Allow user to pick 'Default'
  4. intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
  5. // Show only ringtones
  6. intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
  7. // Don't show 'Silent'
  8. intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
  9. Uri ringtoneUri;
  10. if (mCustomRingtone != null) {
  11. ringtoneUri = Uri.parse(mCustomRingtone);
  12. } else {
  13. // Otherwise pick default ringtone Uri so that something is selected.
  14. ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
  15. }
  16. // Put checkmark next to the current ringtone for this contact
  17. intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);
  18. // Launch!
  19. startActivityForResult(intent, RINGTONE_PICKED);
  20. }

private void doPickRingtone() {Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);// Allow user to pick 'Default'intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);// Show only ringtonesintent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);// Don't show 'Silent'intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);Uri ringtoneUri;if (mCustomRingtone != null) {ringtoneUri = Uri.parse(mCustomRingtone);} else {// Otherwise pick default ringtone Uri so that something is selected.ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);}// Put checkmark next to the current ringtone for this contactintent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);// Launch!startActivityForResult(intent, RINGTONE_PICKED);}

2、选中之后修改数据库

Java代码
  1. @Override
  2. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  3. if (resultCode != RESULT_OK) {
  4. return;
  5. }
  6. switch (requestCode) {
  7. case RINGTONE_PICKED: {
  8.        // 选择完铃声之后获得选中铃音的URI,将其值存入数据库
  9. Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
  10. handleRingtonePicked(pickedUri);
  11. break;
  12. }
  13. }
  14. }
  15. private void handleRingtonePicked(Uri pickedUri) {
  16. if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) {
  17. mCustomRingtone = null;
  18. } else {
  19. mCustomRingtone = pickedUri.toString();
  20. }
  21. saveData();
  22. }
  23. /**
  24. * 保存数据
  25. */
  26. private void saveData() {
  27. ContentValues values = new ContentValues();
  28. values.put(Contacts.CUSTOM_RINGTONE, mCustomRingtone);
  29. //这里的mContactId是当前联系人的Id
  30. getContentResolver().update(Contacts.CONTENT_URI, values, Contacts._ID + " = " + mContactId, null) ;
  31. }
  32. PS: 如果哪里有误导之处,请纠正。谢谢大家~~~

转载于:https://blog.51cto.com/3387980/1144384

跳转到系统挑选铃声的页面相关推荐

  1. 如何直接打开android系统的wifi设置页面,防止intent劫持

    在android的app开发中,经常会遇到需要跳转至系统设置页面的需求.但是当你使用以下代码时: 如 Intent intent =  new Intent(Settings.ACTION_WIFI_ ...

  2. 黑马博客——详细步骤(十一)博客系统的前台展示页面

    7.博客系统的前台展示页面:首页+文章详情页面 改后缀为.art 改模板文件中的相对路径为绝对路径 验证首页和文章详情页没有问题 default.art 和 article.art 出口body和cs ...

  3. 如何打开小米,oppo,华为等手机的系统应用的指定页面

    如题,拿Oppo 手机做个示例,小米 华为也是如此. 在编写Android应用的时候,我们经常会有这样的需求,我们想直接打开系统应用的某个页面.比如在Oppo R9 手机上我们想打开某个应用的通知管理 ...

  4. js页面跳转和js对iframe进行页面跳转、刷新

    js页面跳转和js对iframe进行页面跳转.刷新 一.js方式的页面跳转 1.window.location.href方式     <script language="javascr ...

  5. 从APP跳转到微信指定联系人聊天页面功能的实现与采坑之旅

    起因: 最近做的APP中有一个新功能:已知用户微信号,可点击直接跳转到当前用户微信聊天窗口页面. 当时第一想法是使用无障碍来做,并且觉得应该不难,只是逻辑有点复杂.没想到最终踩了好多坑,特地把踩过的坑 ...

  6. Android各大手机系统打开权限管理页面

    相信做过Android的都知道,现在的手机系统五花八门,当我们去请求用户的权限的时候,总是会弹出是否允许的对话框. 而且用户一旦不小心点了拒绝,下次就不再询问了,而很多小白用户也不知道怎么去设置.这就 ...

  7. php页面怎么去登录,php中登录后跳转回原来要访问的页面实例

    在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页面实例 最简单的办法就是直接使用php ...

  8. 参数 携带 跳转_微信小程序:页面跳转及参数传递

    本文首发自个人自有博客:[FaxMiao个人博客],一个关注Web前端开发技术.关注用户体验.记录前端点滴,坚持更多原创,为大家提供高质量技术博文! 前言 小程序的跳转方法有很多种,有的人一直只用wx ...

  9. element-UI栅格系统缩放,导致页面布局效果bug? 叠加?错位?

    这里以此代码片段为例说明一则bug,请bug对号入座.(bug截图省略) 页面的栅格缩放,导致页面布局发生叠加错位? 一.坑1 · 引言: (先来一则bug代码) <el-card v-for= ...

最新文章

  1. Nacos真香,从零到一学起来
  2. 数据分析及机器学习环境配置(docker极简入门指南)
  3. 独家 | 使用Spark进行大规模图形挖掘(附链接)
  4. C 语言快速入门,21 个小项目足矣!「不走弯路就是捷径」
  5. python中的参数
  6. 一道关于String的易错习题
  7. mysql都有哪些数据库日志_MySQL数据库之MySQL都有哪些日志?分别都代表什么
  8. Vue:列表渲染 v-for on a template
  9. 南海区行政审批管理系统接口规范v0.3(规划) 5.投资项目联合审批系统API 5.1.【uploadFile】证件文书附件上传...
  10. C语言 链表 3个结点,一个关于C语言链表头结点的问题
  11. SEO关键词优化 - 利用免费资源刷排名
  12. SSL 1384 炮兵阵地
  13. PageRank实践-博客园用户PageRank排名
  14. 分布式轻量级任务调度框架-XXL-JOB(最全面,附带本人实战)
  15. 易飞erp系统服务器怎么启动,如何使用易飞ERP系统
  16. sqlserver 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'test' 中的标识列插入显式值...
  17. dfuse 和 EOS Studio 携手让开发者工具更上一层楼
  18. 北海屠龙记------一
  19. RTDB 实时数据库RTDB(Real-Time Data Base)基础
  20. 面对人工智能,我们应有的态度

热门文章

  1. jfinal html页面在多个路径,jfinal不能正确加载html网页,总是报错的解决方法
  2. mysql某个表被行锁了_一文搞懂MySQL行锁、表锁、间隙锁详解
  3. php怎么截取数组最后元素,PHP如何获取数组最后一个元素的键和值?(图文+视频)...
  4. WORD批量更改所有图片大小
  5. 微软亚洲研究院20周年庆典:纳德拉致敬、沈向洋展望
  6. 马斯克地球事务麻烦不断:Model 3又有一起严重事故曝光
  7. 2017年度计算机科学各领域热点词汇
  8. “现有人工智能都是二流的”
  9. 微软vs2008快捷键
  10. PHP分组聊天室--fooking现实