删除信息中的小区广播、默认语言、添加自定义铃声
1.删除信息中的小区广播
进入信息,信息列表界面,menu键,设置,基本设置
解决方法:
Modified : /packages/apps/Mms/res/xml/generalmulticardpreferences.xml
Modified :/packages/apps/Mms/res/xml/generalpreferences.xml
注释掉小区广播的显示:
<!--
<PreferenceCategory android:title="@string/cell_broadcast_title">
<Preference android:key="pref_key_cell_broadcast"
android:title="@string/cell_broadcast" android:summary="@string/cell_broadcast_settings"
android:persistent="false">
</Preference>
</PreferenceCategory>
-->
2.修改默认语言
第一个为默认的语言
zh_CN 是简体中文的意思
修改Android手机中的默认语言的路径
Modified :mediatek/config/Project名称/ProjectConfig.mk
MTK_PRODUCT_LOCALES=zh_CN de_CH ru_RU en_GB en_US hi_IN cs_CZ da_DK de_AT de_DE el_GR en_AU es_ES fi_FI fr_CH
3.添加自定义手机铃声
在Android手机 情景模式-手机铃声---添加更多铃声的修改点1.修改源码中的 packages/providers/MediaProvider/src/com/android/providers/media/RingtonePickerActivity.java这个类
a.添加一个变量声明,这个使更多铃声永远在最上面,0表示默认的手机铃声
private int mPreClickedPos = -1;
b.然后在选择铃声的列表的OnClick 事件中添加选择的Item
/**
* On item clicked
*/
public void onClick(DialogInterface dialog, int which) {
/// M: Show MusicPicker activity to let user choose song to be ringtone @{
if (which == mMoreRingtonesPos){
mPreClickedPos = mClickedPos; //add this line
mClickedPos = which; //add this line
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("audio/*");
intent.setType("application/ogg");
intent.setType("application/x-ogg");
intent.setClassName("com.android.music","com.android.music.MusicPicker");
c.在onResume()方法中得到设置铃声的路径 需要将以下代码
/// Get position from ringtone list with this uri, if the return position is
/// valid value, set it to be current clicked position
if ((mClickedPos >= mStaticItemCount) && (null != mExistingUri)) {
修改为
/// Get position from ringtone list with this uri, if the return position is
/// valid value, set it to be current clicked position
if (((mClickedPos >= mStaticItemCount) || (mClickedPos == mMoreRingtonesPos)) && (null != mExistingUri)) { //modify this line
d.然后在onActivityResult()方法中添加 mClickedPos = mPreClickedPos;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case ADD_MORE_RINGTONES:
if (resultCode == RESULT_OK) {
Uri uri = (null == intent ? null : intent.getData());
if (uri != null ) {
setRingtone(this.getContentResolver(), uri);
MtkLog.v(TAG, "onActivityResult: RESULT_OK, so set to be ringtone! " + uri);
}
} else {
mClickedPos = mPreClickedPos; // add this line
MtkLog.v(TAG, "onActivityResult: Cancel to choose more ringtones, so do nothing!");
}
break;
}
}
2.修改 /packages/apps/Settings/src/com/mediatek/audioprofile/DefaultRingtonePreference.java
将类中的false 改为 true
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
3.修改/packages/apps/Settings/ext/src/com/mediatek/settings/ext/DefaultAudioProfileExt.java
将类中的false 改为 true
public void setRingtonePickerParams(Intent intent) {
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_MORE_RINGTONES, true);
mHasMoreRingtone = true;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!