微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt6735 reset audioprofile时,如何让external里的铃声不要 显示

mt6735 reset audioprofile时,如何让external里的铃声不要 显示

时间:10-02 整理:3721RD 点击:
[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();
}
}
}

谢谢分享!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top