跳转到系统挑选铃声的页面
1、首先选中列表的铃声
- 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 ringtones
- intent.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 contact
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);
- // Launch!
- startActivityForResult(intent, RINGTONE_PICKED);
- }
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、选中之后修改数据库
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode != RESULT_OK) {
- return;
- }
- switch (requestCode) {
- case RINGTONE_PICKED: {
- // 选择完铃声之后获得选中铃音的URI,将其值存入数据库
- Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
- handleRingtonePicked(pickedUri);
- break;
- }
- }
- }
- private void handleRingtonePicked(Uri pickedUri) {
- if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) {
- mCustomRingtone = null;
- } else {
- mCustomRingtone = pickedUri.toString();
- }
- saveData();
- }
- /**
- * 保存数据
- */
- private void saveData() {
- ContentValues values = new ContentValues();
- values.put(Contacts.CUSTOM_RINGTONE, mCustomRingtone);
- //这里的mContactId是当前联系人的Id
- getContentResolver().update(Contacts.CONTENT_URI, values, Contacts._ID + " = " + mContactId, null) ;
- }
- PS: 如果哪里有误导之处,请纠正。谢谢大家~~~
转载于:https://blog.51cto.com/3387980/1144384
跳转到系统挑选铃声的页面相关推荐
- 如何直接打开android系统的wifi设置页面,防止intent劫持
在android的app开发中,经常会遇到需要跳转至系统设置页面的需求.但是当你使用以下代码时: 如 Intent intent = new Intent(Settings.ACTION_WIFI_ ...
- 黑马博客——详细步骤(十一)博客系统的前台展示页面
7.博客系统的前台展示页面:首页+文章详情页面 改后缀为.art 改模板文件中的相对路径为绝对路径 验证首页和文章详情页没有问题 default.art 和 article.art 出口body和cs ...
- 如何打开小米,oppo,华为等手机的系统应用的指定页面
如题,拿Oppo 手机做个示例,小米 华为也是如此. 在编写Android应用的时候,我们经常会有这样的需求,我们想直接打开系统应用的某个页面.比如在Oppo R9 手机上我们想打开某个应用的通知管理 ...
- js页面跳转和js对iframe进行页面跳转、刷新
js页面跳转和js对iframe进行页面跳转.刷新 一.js方式的页面跳转 1.window.location.href方式 <script language="javascr ...
- 从APP跳转到微信指定联系人聊天页面功能的实现与采坑之旅
起因: 最近做的APP中有一个新功能:已知用户微信号,可点击直接跳转到当前用户微信聊天窗口页面. 当时第一想法是使用无障碍来做,并且觉得应该不难,只是逻辑有点复杂.没想到最终踩了好多坑,特地把踩过的坑 ...
- Android各大手机系统打开权限管理页面
相信做过Android的都知道,现在的手机系统五花八门,当我们去请求用户的权限的时候,总是会弹出是否允许的对话框. 而且用户一旦不小心点了拒绝,下次就不再询问了,而很多小白用户也不知道怎么去设置.这就 ...
- php页面怎么去登录,php中登录后跳转回原来要访问的页面实例
在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页面实例 最简单的办法就是直接使用php ...
- 参数 携带 跳转_微信小程序:页面跳转及参数传递
本文首发自个人自有博客:[FaxMiao个人博客],一个关注Web前端开发技术.关注用户体验.记录前端点滴,坚持更多原创,为大家提供高质量技术博文! 前言 小程序的跳转方法有很多种,有的人一直只用wx ...
- element-UI栅格系统缩放,导致页面布局效果bug? 叠加?错位?
这里以此代码片段为例说明一则bug,请bug对号入座.(bug截图省略) 页面的栅格缩放,导致页面布局发生叠加错位? 一.坑1 · 引言: (先来一则bug代码) <el-card v-for= ...
最新文章
- Nacos真香,从零到一学起来
- 数据分析及机器学习环境配置(docker极简入门指南)
- 独家 | 使用Spark进行大规模图形挖掘(附链接)
- C 语言快速入门,21 个小项目足矣!「不走弯路就是捷径」
- python中的参数
- 一道关于String的易错习题
- mysql都有哪些数据库日志_MySQL数据库之MySQL都有哪些日志?分别都代表什么
- Vue:列表渲染 v-for on a template
- 南海区行政审批管理系统接口规范v0.3(规划) 5.投资项目联合审批系统API 5.1.【uploadFile】证件文书附件上传...
- C语言 链表 3个结点,一个关于C语言链表头结点的问题
- SEO关键词优化 - 利用免费资源刷排名
- SSL 1384 炮兵阵地
- PageRank实践-博客园用户PageRank排名
- 分布式轻量级任务调度框架-XXL-JOB(最全面,附带本人实战)
- 易飞erp系统服务器怎么启动,如何使用易飞ERP系统
- sqlserver 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'test' 中的标识列插入显式值...
- dfuse 和 EOS Studio 携手让开发者工具更上一层楼
- 北海屠龙记------一
- RTDB 实时数据库RTDB(Real-Time Data Base)基础
- 面对人工智能,我们应有的态度
热门文章
- jfinal html页面在多个路径,jfinal不能正确加载html网页,总是报错的解决方法
- mysql某个表被行锁了_一文搞懂MySQL行锁、表锁、间隙锁详解
- php怎么截取数组最后元素,PHP如何获取数组最后一个元素的键和值?(图文+视频)...
- WORD批量更改所有图片大小
- 微软亚洲研究院20周年庆典:纳德拉致敬、沈向洋展望
- 马斯克地球事务麻烦不断:Model 3又有一起严重事故曝光
- 2017年度计算机科学各领域热点词汇
- “现有人工智能都是二流的”
- 微软vs2008快捷键
- PHP分组聊天室--fooking现实