android 在音乐播放器中设置一首歌曲为来电铃声,设置不起作用
AudioProfile,情景模式,多卡设置铃声
系统开启Multi_ringtone_support。进入菜单--音乐--歌曲列表--长按一首歌曲选择设为手机铃声,提示已成功设置,但是进入设置中情景模式查看,仍然是默认铃声。打电话后铃声还为默认铃声。
修改:
AudioProfileService.java
mRingtoneObserver = new ContentObserver(new Handler())函数里面的
case GENERAL:
case OUTDOOR:
if (mExt.shouldSyncGeneralRingtoneToOutdoor()) {
// If ringtone has been changed and the active profile is general
// or outdoor profile, synchronize the current system ringtone
// to both profiles.
if (isPassiveChange && (!mResetFlag)) {
String generalKey = mPredefinedKeys.get(Scenario.GENERAL.ordinal());
String outdoorKey = mPredefinedKeys.get(Scenario.OUTDOOR.ordinal());
getProfileState(generalKey, mSimId).mRingerStream = systemUri;
getProfileState(outdoorKey, mSimId).mRingerStream = systemUri;
persistRingtoneUriToDatabase(generalKey, AudioProfileManager.TYPE_RINGTONE, mSimId, systemUri);
persistRingtoneUriToDatabase(outdoorKey, AudioProfileManager.TYPE_RINGTONE, mSimId, systemUri);
Log.d(TAG, "Ringtone changed by other app in non-silent "
+ "profile, synchronize to active profile: new uri = " + systemUri);
} else {
Log.d(TAG, "Ringtone changed by itself, do nothing!");
}
break;
}
改为如下的样子
case GENERAL:
case OUTDOOR:
if (mExt.shouldSyncGeneralRingtoneToOutdoor()) {
// If ringtone has been changed and the active profile is general
// or outdoor profile, synchronize the current system ringtone
// to both profiles.
if (isPassiveChange && (!mResetFlag)) {
//M: for setringtoneformprofile or from 3rd app
if (FeatureOption.MTK_MULTISIM_RINGTONE_SUPPORT) {
// add to get selected SIM id
List<SIMInfo> simList = SIMInfo.getInsertedSIMList(mContext);
int simNum = simList.size();
Log.d(TAG, "simList.size() == " + simNum);
long simId = -1;
for (int i = 0; i < simNum; i++) {
simId = simList.get(i).mSimId;
String generalKey = mPredefinedKeys.get(Scenario.GENERAL.ordinal());
String outdoorKey = mPredefinedKeys.get(Scenario.OUTDOOR.ordinal());
getProfileState(generalKey, simId).mRingerStream = systemUri;
getProfileState(outdoorKey, simId).mRingerStream = systemUri;
persistRingtoneUriToDatabase(generalKey, AudioProfileManager.TYPE_RINGTONE, simId, systemUri);
persistRingtoneUriToDatabase(outdoorKey, AudioProfileManager.TYPE_RINGTONE, simId, systemUri);
Log.d(TAG, "Ringtone changed by other app in non-silent "
+ "profile, synchronize to active profile: new uri = " + systemUri);
Log.d(TAG,"mRingtoneObserver simId " + simId);
}
}else {
String generalKey = mPredefinedKeys.get(Scenario.GENERAL.ordinal());
String outdoorKey = mPredefinedKeys.get(Scenario.OUTDOOR.ordinal());
getProfileState(generalKey, mSimId).mRingerStream = systemUri;
getProfileState(outdoorKey, mSimId).mRingerStream = systemUri;
persistRingtoneUriToDatabase(generalKey, AudioProfileManager.TYPE_RINGTONE, mSimId, systemUri);
persistRingtoneUriToDatabase(outdoorKey, AudioProfileManager.TYPE_RINGTONE, mSimId, systemUri);
Log.d(TAG, "Ringtone changed by other app in non-silent "
+ "profile, synchronize to active profile: new uri = " + systemUri);
}
} else {
Log.d(TAG, "Ringtone changed by itself, do nothing!");
}
break;
}
同样的,对于custom case 也要处理
Case CUSTOM:
if (isPassiveChange && (!mResetFlag )){
activeState.mRingerStream = systemUri;
persistRingtoneUriToDatabase(mActiveProfileKey,AudioProfileManager.TYPE_RINGTONE,mSimId,systemUri);
Log.d(…);
} else {
Log.d(…);
}
break;
改为,
Case CUSTOM:
if (isPassiveChange && (!mResetFlag )){
if (FeatureOption.MTK_MULTISIM_RINGTONE_SUPPORT){
// add to get selected SIM id
List<SIMInfo> simList = SIMInfo.getInsertedSIMList(mContext);
int simNum = simList.size();
Log.d(TAG, "simList.size() == " + simNum);
long simId = -1;
for (int i = 0; i < simNum; i++) {
simId = simList.get(i).mSimId;
persistRingtoneUriToDatabase(mActiveProfileKey,AudioProfileManager.TYPE_RINGTONE, simId,systemUri);
}
} else {
activeState.mRingerStream = systemUri;
persistRingtoneUriToDatabase(mActiveProfileKey,AudioProfileManager.TYPE_RINGTONE,mSimId,systemUri);
Log.d(…);
}
} else {
Log.d(…);
}
break;
android 在音乐播放器中设置一首歌曲为来电铃声,设置不起作用相关推荐
- android 音乐播放器中播放模式的设计
在音乐播放器中,播放模式一般放在音乐播放完毕后自动识别,如下给出逻辑代码,可根据需要添加合适的代码 public static final int ALL = 0;//全部循环 public stat ...
- Android开发音乐播放器
音乐播放器中综合了以下内容: SeekBar.ListView.广播接收者(以代码的形式注册Receiver).系统服务.MediaPlayer 实现的功能: 1.暂停/播放.下一首/上一首,点击某一 ...
- 三款Android平台音乐播放器多方位对比
音乐播放器作为重要的娱乐工具,在PC端异常重要,在移动端同样如此.移动端的音乐播放器很多,巨头们纷纷在这个领域布局,腾讯百度等均拥有各自的移动端音乐播放器.爱好音乐的机友们也面临较多的选择. 小编在这 ...
- 音乐播放器android版,Android版音乐播放器
音乐播放器是一个非常常见的应用,这篇博客就是介绍如何制作一个简单的音乐播放器,这款音乐播放器具有以下的功能:播放歌曲.暂停播放歌曲..显示歌曲的总时长.显示歌曲的当前播放时长.调节滑块可以将歌曲调节到 ...
- Android 自定义音乐播放器实现
Android自定义音乐播放器 一:首先介绍用了哪些Android的知识点: 1 MediaPlayer工具来播放音乐 2 Handle.因为存在定时任务(歌词切换,动画,歌词进度条变换等)需要由Ha ...
- android 小型音乐播放器(实现播放、下一首、上一首、自动播放、随机播放按钮、当前播放歌曲界面)
该文章主要针对 android 的音乐播放器软件进行简单的功能添加:播放.断点播放.停止.上一曲.下一曲.随机播放.显示当前播放歌曲(后续会为当前显示的播放添加动画): 软件开发流程: 1.先向内存卡 ...
- Android Car音乐播放器分析
Android Car音乐播放器分析 概述 Android Car系统音乐路径是packages/apps/Car/Media,应用名称是CarMediaApp,包名是com.android.car. ...
- 音乐播放器中的跳动的平衡器
完整的音乐Demo我放在资源上,利于解析原理.地址:http://download.csdn.net/detail/zhangli_/9421671 主要用到的平衡器的工具类代码: package c ...
- android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...
我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚.我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内 ...
最新文章
- 面试必备的C++知识(未完待续)
- [NOIP2009] 最优贸易 (最短路,分层图)
- 基于注解的Spring AOP的配置和使用--转载
- Mysql主从和redis集群哪个好_Redis的三种模式:主从、哨兵、集群
- 如何使用CSS创建巧妙的动画提示框
- djano 模型查询
- nodejs 实践:express 最佳实践(六) express 自省获得所有的路由
- 数据结构与算法——栈、队列、堆汇总整理
- mysql查询结果作为附件_python3+mysql查询数据并通过邮件群发excel附件
- python twisted应用_如何通过Python(而不是通过Twisted)运行Twisted应用程序?
- bzoj 3399: [Usaco2009 Mar]Sand Castle城堡
- ubuntu安装python3.6_Ubuntu16.04下安装python3.6.4详细步骤
- 不用编写客户端调试WebServices
- PDF 文件如何转换从可以编辑的文本和word
- Microbiome:中国科学家完成鸡肠道微生物宏基因集的构建(张和平、魏泓、秦楠点评)...
- pandas实现股票日线数据转周线,月线等
- 洁厕灵的工作原理、使用方法和危害 //2021-1-27
- 第三方开发者服务平台汇总
- STM32工程文件的建立以及Keil软件的基本设置和修改
- 罗胖的文字墙是如何制作的?
热门文章
- Markdown基础学习
- 教育部启动本科毕业论文抽检试点:比例不低于2%,涉抄袭剽窃的撤销学位
- 服务器2012系统评估版,解决windows server2012 评估版本过期,系统会自动关机
- JavaScript中var、let和const的区别
- 智慧医疗信息化系统的层次结构
- Windows Store apps开发[76]企业部署Windows 8 Store 风格应用
- 网络环境下连接SQL Server和Oracle 19c的方法
- 计算几何基础知识 叉乘、点乘、点到直线距离、叉积方向法等
- idea使用正则匹配汉字
- vue2安装插件失败方法