立即注册
查看: 2141|回复: 1

[MTK软件经验分享] mt6735 [Audio Profile]reset audioprofile时,如何让external里的铃声不要 显示

发表于 2017-11-16 12:00:02 | 显示全部楼层 |阅读模式 来自 广东省深圳市
[Audio Profile]resetaudioprofile时,如何让external里的铃声不要显示
[DESCRIPTION]
1. 将external的音乐文件a.mp3设成铃声,此时会在铃声列表里出现。
2. 重置audioprofile
3. a.mp3仍然会在铃声列表里出现。
要求重置audioprofile之后,a.mp3不在铃声列表里出现
[SOLUTION]
修改如下: 在AudioProfileService.java里增加新的函数resetExternalRingtones()
1. 在reset()函数的末尾处执行resetExternalRingtones()
reset(){
...
resetExternalRingtones(); // modify by MTK
Log.d(TAG, "reset end!");
...
}


2. resetExternalRingtones()函数如下:
private void resetExternalRingtones() {
String where = MediaStore.Audio.Media.IS_RINGTONE + "=1" + " OR "+MediaStore.Audio.Media.IS_NOTIFICATION + "=1" ;
Cursor c = mContentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[] {MediaStore.Audio.Media._ID,MediaStore.Audio.Media.IS_RINGTONE,MediaStore.Audio.Media.IS_NOTIFICATION},
where,
null, null);
try {
/// M: if count is 0,return array of length 0
if (c == null) {
return ;
}
int len = c.getCount();
Uri ringUri = null;
long id=0;
ContentValues values = null;
for (int i = 0; i < len; i++) {
c.MOVeToNext();
id = c.getLong(0);
ringUri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id);
values = new ContentValues(2);
values.put(MediaStore.Audio.Media.IS_RINGTONE, "0");
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, "0");
mContentResolver.update(ringUri, values, null, null);
}
} finally {
if (c != null) {
c.close();
}
}
}

已绑定手机
已实名认证
在一切变得简单之前,唯一答案:努力去做!
发表于 2017-11-16 13:34:28 | 显示全部楼层 来自 福建省福州市
谢谢分享!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表