返回顶部
首页 > 资讯 > 移动开发 >Android给app设置自定义铃声功能
  • 194
分享到

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

自定义appAndroid 2022-06-06 04:06:57 194人浏览 薄情痞子
摘要

因为有个需求是在自己的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自定义View 实现闹钟唤起播放闹钟铃声功能Android设置铃声实现代码Android 自定义SeekBar动态改变硬件音量大小实现和音量键的同步(推荐)Android seekbar(自定义)控制音量同步更新Android使用AudioManager修改系统音量的方法Android 使用Vitamio打造自己的万能播放器(2)—— 手势控制亮度、音量、缩放Android中自定义View实现圆环等待及相关的音量调节效果Android实现音量调节的方法Android中实时获取音量分贝值详解Android编程实现音量按钮添加监听事件的方法


--结束END--

本文标题: Android给app设置自定义铃声功能

本文链接: https://lsjlt.com/news/22480.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android给app设置自定义铃声功能
    因为有个需求是在自己的app中添加铃声并播放,而之前在网上查阅了相关的资料却大多都是教人怎么设置手机来电、闹钟等手机系统的功能,所以就以此文章作为记录。 一、本篇文章的大致内...
    99+
    2022-06-06
    自定义 app Android
  • Android开发中怎么实现给app设置铃声
    这篇文章给大家介绍Android开发中怎么实现给app设置铃声,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、本篇文章的大致内容是调用系统铃声界面选择铃声;播放该选择的铃声;再次调用系统铃声界面时,默认勾选之前已经选...
    99+
    2023-05-31
    android app pp
  • win10闹钟自定义铃声如何设置
    这篇“win10闹钟自定义铃声如何设置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win10闹钟自定义铃声如何设置”文章吧...
    99+
    2023-07-02
  • Android自定义View 实现闹钟唤起播放闹钟铃声功能
    先上图看一下闹钟唤期页面的效果 实现的功能: 1:转动的图片根据天气情况更换 2:转动时间可以设置,转动结束,闹铃声音就结束 3:光圈颜色渐变效果 直接上代码啦: pack...
    99+
    2022-06-06
    view 闹钟 Android
  • Android自定义闹钟功能
    Android闹钟alarmManager+PendingIntent的使用方法,供大家参考,具体内容如下 这次给大家分享两种闹钟: 第一种是当到达闹钟时间后执行一次相应的操...
    99+
    2022-06-06
    闹钟 Android
  • Android自定义录制视频功能
    Android录制视频MediaRecorder+SurfaceView的使用方法,供大家参考,具体内容如下 先看效果图: <1>将视频动画显示到Surfac...
    99+
    2022-06-06
    Android
  • 自定义搜索功能Android实现
    先看看效果图: 源码下载:自定义搜索功能 代码: SearchActivity.java package com.bzu.gxs.search.activity; impo...
    99+
    2022-06-06
    自定义 Android
  • android 12.0 添加自定义系统服务接口给app调用
    1.前言 0 定制化开发中,在app需要调用系统层的一些功能的时候,由于受限于系统api权限或者某些api被隐藏了,所以需要添加自定义系统服务给app调用 首先要自定义服务 然后给app调用就好 2.自定义服务功能实现 添加自定义系统服务A...
    99+
    2023-09-12
    android system systemserver 自定义服务 添加自定义服务
  • Android自定义SurfaceView实现画板功能
    接触了这么久的View,总不能一直停留在View里,现在开始呢,就要学习一个新的知识点:SurfaceView,实际上SurfaceView与View的原理都差不多,只是效率和...
    99+
    2022-06-06
    surfaceview 画板 Android
  • Android自定义View实现时钟功能
    最近在练习自定义view, 想起之前面试的时候笔试有道题是写出自定义一个时钟的关键代码. 今天就来实现一下. 步骤依然是先分析, 再上代码. 实现效果 View分析 时钟主要分为五...
    99+
    2024-04-02
  • Android自定义View实现自动吸附功能
    本文实例为大家分享了Android实现自动吸附功能的具体代码,供大家参考,具体内容如下 1.简述 最近开发app过程中要实现拖动view后要可以自动吸附功能,所以需要自定义vi...
    99+
    2022-06-06
    自动 view Android
  • Android 仿QQ头像自定义截取功能
    看了Android版QQ的自定义头像功能,决定自己实现,随便熟悉下android绘制和图片处理这一块的知识。 先看看效果: 思路分析: 这个效果可以用两个View来完成,上层...
    99+
    2022-06-06
    qq头像 自定义 Android
  • Android自定义桌面功能代码实现
    先上运行效果图首先我们要把一张自己喜欢的图片放到sdcard中,总之,只要我们可以获取这个图片就可以了。 我这里是放在sdcard中的,可以在eclipse中用鼠标点击导入,比...
    99+
    2022-06-06
    Android
  • Android自定义Camera实现拍照小功能
    本文实例为大家分享了Android自定义Camera实现拍照的具体代码,供大家参考,具体内容如下 本篇文章就项目开发遇到问题记录下; 1.拍照图片被压缩问题2.拍照图片被旋转问题 首...
    99+
    2024-04-02
  • Android自定义相机实现定时拍照功能
    这篇博客为大家介绍Android自定义相机,并且实现倒计时拍照功能。 首先自定义拍照会用到SurfaceView控件显示照片的预览区域,以下是布局文件: activity_...
    99+
    2022-06-06
    相机 Android
  • Android 13.0 添加自定义服务,并生成jar给第三方app调用
    1.概述 在13.0系统产品定制化开发中,由于需要新增加自定义的功能,所以要增加自定义服务,而app上层通过调用自定义服务,来调用相应的功能,所以系统需要先生成jar,然后生成jar 给上层app调用,接下来就来分析实现的步骤,然后来实现相...
    99+
    2023-10-21
    android jar java 生成jar包 系统源码生成jar包
  • Android编程实现自定义title功能示例
    本文实例讲述了Android编程实现自定义title功能。分享给大家供大家参考,具体如下: 这里我在前面加了个logo,而且改变了title的背景和高度。 首先编写title...
    99+
    2022-06-06
    示例 title Android
  • Android自定义View实现简易画板功能
    本文实例为大家分享了Android自定义View实现简易画板的具体代码,供大家参考,具体内容如下 自定义VIew实现简易画板效果,功能包括清空、选择颜色,选择大小,效果如下 画板布...
    99+
    2024-04-02
  • Win7怎么设置给图片文件自定义排序?
    怎么样才能按照看图软件的排序规则呢,我们可以通过设置一下win7来改变。 1、在开始菜单搜索框里输入“gpedit.msc”,或者“运行” 2、打开组策略编辑器 3、依次...
    99+
    2023-06-11
    Win7 文件排序 文件 图片
  • uni-app配置APP自定义顶部标题栏设置方法与注意事项
    目录pages.json文件页面部分或首页部分注意:附:uni-app如何动态设置页面的标题1. 新建页面2. js动态修改标题总结 当设置 "navigatio...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作