全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android给app设置自定义铃声功能

因为有个需求是在自己的app中添加铃声并播放,而之前在网上查阅了相关的资料却大多都是教人怎么设置手机来电、闹钟等手机系统的功能,所以就以此文章作为记录。

一、本篇文章的大致内容是

1.调用系统铃声界面选择铃声;

2.播放该选择的铃声;

3.再次调用系统铃声界面时,默认勾选之前已经选择过的铃声;

4.非常重要的权限要加上;

二、图示

界面代码很简单,顾名思义。

三、部分逻辑代码实现

①调用系统铃声界面传递当前铃声数据,并选择新的铃声

//选择铃声 
 public void toChoose(View view) { 
  Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); 
  intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION); 
  intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置通知铃声"); 
  if (myUriStr != null) { 
   <span style="color:#3366ff;">intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, Uri.parse(myUriStr));</span>//将已经勾选过的铃声传递给系统铃声界面进行显示 
  } 
  startActivityForResult(intent, 0); 
 } 
 
 
 @Override 
 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
  try { 
   <span style="color:#3366ff;">Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);</span>//获取用户选择的铃声数据 
   myUriStr = pickedUri.toString(); 
 
  } catch (Exception e) { 
   e.printStackTrace(); 
  } 
 } 

②播放当前选择的铃声

//播放铃声 
 public void toPlay(View view) { 
  if (myUriStr == null) {//如果未自定义铃声,则调用系统默认的铃声 
   mMediaPlayer = MediaPlayer.create(this, getSystemDefaultRingtoneUri()); 
  } else { 
   mMediaPlayer = MediaPlayer.create(this, Uri.parse(myUriStr)); 
 
   if(mMediaPlayer == null){ 
    Toast.makeText(this,"该铃声不存在,请重新选择",Toast.LENGTH_LONG).show(); 
    return; 
   } 
  } 
  mMediaPlayer.setLooping(false); 
  try { 
   mMediaPlayer.prepare(); 
  } catch (IllegalStateException e) { 
   e.printStackTrace(); 
  } catch (IOException e) { 
   e.printStackTrace(); 
  } 
 
  mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
   @Override 
   public void onPrepared(MediaPlayer mediaPlayer) { 
    mMediaPlayer.start(); 
   } 
  }); 
 } 

至此,你以为就完了?
其实还差非常重要的一步,需要加上相应的权限:

<!-- 往SDCard写入数据权限 --> 
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
 <!-- 在SDCard中创建与删除文件权限 --> 
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

如果不加上以上权限,可能导致的问题是:有些铃声能播放,有些铃声播放不了(音乐歌曲文件是无法播放的)。而通过日志的情况来看,所有的铃声包括音乐歌曲都是有Uri的,既然都有Uri,为什么还播放不出来呢?一般情况下手机系统出错的可能性会非常小,何况这么大的错误怎么可能出来?因为所有音乐歌曲文件无法播放,而这些文件都是放在sd卡,也就是外部文件的,因此——>需要加上相应的外部文件访问等权限。

最后,完整的代码可以戳这里>>:点击打开链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android设置铃声  # Android给app设置自定义铃声  # Android设置自定义铃声  # android获取情景模式和铃声 实现震动、铃声提醒  # Android自定义View 实现闹钟唤起播放闹钟铃声功能  # Android设置铃声实现代码  # Android 自定义SeekBar动态改变硬件音量大小实现和音量键的同步(推荐)  # Android seekbar(自定义)控制音量同步更新  # Android使用AudioManager修改系统音量的方法  # Android 使用Vitamio打造自己的万能播放器(2)—— 手势控制亮度、音量、缩放  # Android中自定义View实现圆环等待及相关的音量调节效果  # Android实现音量调节的方法  # Android中实时获取音量分贝值详解  # Android编程实现音量按钮添加监听事件的方法  # 都是  # 非常重要  # 勾选  # 自己的  # 无法播放  # 是在  # 都有  # 放在  # 有个  # 是有  # 很简单  # 不存在  # 问题是  # 这么大  # 自定义  # 顾名思义  # 不加  # 就以  # 教人  # 大家多多 


相关文章: C++中引用和指针有什么区别?(代码说明)  建站之星如何保障用户数据免受黑客入侵?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  ,南京靠谱的征婚网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何快速搭建高效简练网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何确认建站备案号应放置的具体位置?  开心动漫网站制作软件下载,十分开心动画为何停播?  网站代码制作软件有哪些,如何生成自己网站的代码?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  如何破解联通资金短缺导致的基站建设难题?  建站之星后台管理系统如何操作?  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何选择PHP开源工具快速搭建网站?  已有域名和空间,如何快速搭建网站?  名字制作网站免费,所有小说网站的名字?  济南企业网站制作公司,济南社保单位网上缴费步骤?  建站之星如何助力企业快速打造五合一网站?  高防服务器租用如何选择配置与防御等级?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何获取开源自助建站系统免费下载链接?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  在线教育网站制作平台,山西立德教育官网?  建站主机空间推荐 高性价比配置与快速部署方案解析  哈尔滨网站建设策划,哈尔滨电工证查询网站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何快速搭建个人网站并优化SEO?  ,如何利用word制作宣传手册?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  css网站制作参考文献有哪些,易聊怎么注册?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  如何在宝塔面板中修改默认建站目录?  如何选择香港主机高效搭建外贸独立站?  家具网站制作软件,家具厂怎么跑业务?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  重庆市网站制作公司,重庆招聘网站哪个好?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  存储型VPS适合搭建中小型网站吗?  已有域名和空间如何搭建网站?  如何选择可靠的免备案建站服务器?  移民网站制作流程,怎么看加拿大移民官网?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  制作表格网站有哪些,线上表格怎么弄?  香港服务器选型指南:免备案配置与高效建站方案解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。