微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt6735 铃声选择列表排序顺序客制化

mt6735 铃声选择列表排序顺序客制化

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
铃声选择界面默认是按照Title排序的,希望改成其他的排序方式


[SOLUTION]
如希望修改铃声选择列表的排序界面可以修改文件
php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\media\java\android\media\RingtoneManager.java中的函数getCursor()->SortCursor()的最后一个参数MediaStore.Audio.Media.DEFAULT_SORT_ORDER; 但是排序的参数要在cursor查询列中,即在RingtoneManager.java中查询的结果列INTERNAL_COLUMNS,DRM_COLUMNS,
MEDIA_COLUMNS 中要有被排序的列。

如希望按照铃声播放时间排序,则:
1,INTERNAL_COLUMNS,DRM_COLUMNS, MEDIA_COLUMNS中添加duration的列:
private static final String[] INTERNAL_COLUMNS = new String[] {
MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DURATION,
"\"" + MediaStore.Audio.Media.INTERNAL_CONTENT_URI + "\"",
MediaStore.Audio.Media.TITLE_KEY
};
private static final String[] DRM_COLUMNS = new String[] {
DrmStore.Audio._ID, DrmStore.Audio.TITLE,MediaStore.Audio.Media.DURATION,
"\"" + DrmStore.Audio.CONTENT_URI + "\"",
DrmStore.Audio.TITLE + " AS " + MediaStore.Audio.Media.TITLE_KEY
};
private static final String[] MEDIA_COLUMNS = new String[] {
MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DURATION,
"\"" + MediaStore.Audio.Media.EXTERNAL_CONTENT_URI + "\"",
MediaStore.Audio.Media.TITLE_KEY,
MediaStore.Audio.Media.IS_DRM, /// M: add for handling OMA DRM v1 content
MediaStore.Audio.Media.DRM_METHOD /// M: add for handling OMA DRM v1 content
};

2,getCursor()中SortCursor的最后一个参数填为Duration,即是按照时间排序:
public Cursor getCursor() {
if (mCursor != null && mCursor.requery()) {
Log.v(TAG, "getCursor with old cursor = " + mCursor);
return mCursor;
}
final Cursor internalCursor = getInternalRingtones();
final Cursor drmCursor = mIncludeDrm ? getDrmRingtones() : null;
final Cursor mediaCursor = getMediaRingtones();
// mCursor = new SortCursor(new Cursor[] { internalCursor, drmCursor, mediaCursor },
// MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
mCursor = new SortCursor(new Cursor[] { internalCursor, drmCursor, mediaCursor },
MediaStore.Audio.Media.DURATION);
Log.v(TAG, "getCursor with new cursor = " + mCursor);
return mCursor;
}

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

网站地图

Top