Android4.1 如何实现状态栏上信号图标有SIM卡1,2标记,并且当处于2G状态显示“G”,处于3G状态显示“3G”
来源:互联网 发布:淘宝海之蓝卖60真的吗 编辑:程序博客网 时间:2024/05/22 00:46
[Android Version]
6577/6589 Android V4.1
6577/6589 Android V4.1
[Description]
如何实现状态栏上信号图标有SIM卡1,2标记,并且当处于2G状态显示“G”,处于3G状态显示“3G”,类似联通定义的feature
[Solution]
请按照下面的步骤实验:
1. \mediatek\operator\OP02\packages\apps\Plugins\res\drawable-hdpi, 将这下面的图片资源添加到默认的systemUI路径frameworks\base\packages\SystemUI\res\drawable-hdpi,其中fm与sms相关的7个图标可以不添加
2. 为了build到上面的资源,请在frameworks\base\packages\SystemUI\res\layout\status_bar.xml 随便加个换行,目的是可以执行build 到res资源
3. frameworks\base\packages\SystemUI\Android.mk文件将com.mediatek.systemui.ext注释掉,如下:
LOCAL_STATIC_JAVA_LIBRARIES := android-common-carousel
#com.mediatek.systemui.ext
4. 将mediatek\operator\OP02\packages\apps\Plugins\src\com\mediatek\systemui\plugin\TelephonyIcons.java 文件复制到 frameworks\base\packages\ext\src\com\mediatek\systemui\ext 目录下,并修改TelephonyIcons.java文件的包名,增加import的resource文件
2. 为了build到上面的资源,请在frameworks\base\packages\SystemUI\res\layout\status_bar.xml 随便加个换行,目的是可以执行build 到res资源
3. frameworks\base\packages\SystemUI\Android.mk文件将com.mediatek.systemui.ext注释掉,如下:
LOCAL_STATIC_JAVA_LIBRARIES := android-common-carousel
#com.mediatek.systemui.ext
4. 将mediatek\operator\OP02\packages\apps\Plugins\src\com\mediatek\systemui\plugin\TelephonyIcons.java 文件复制到 frameworks\base\packages\ext\src\com\mediatek\systemui\ext 目录下,并修改TelephonyIcons.java文件的包名,增加import的resource文件
package com.mediatek.systemui.ext;
import com.android.systemui.R;
5. 修改frameworks\base\packages\SystemUI\src\com\mediatek\systemui\ext\DefaultStatusBarPlugin.java文件,主要是修改为mediatek\operator\OP02\packages\apps\Plugins\src\com\mediatek\systemui\plugin\Op02StatusBarPlugin.java的样子,具体如下:
(1) 增加
import com.mediatek.systemui.ext.DataType;
import com.mediatek.systemui.ext.NetworkType;
import com.android.systemui.R;
5. 修改frameworks\base\packages\SystemUI\src\com\mediatek\systemui\ext\DefaultStatusBarPlugin.java文件,主要是修改为mediatek\operator\OP02\packages\apps\Plugins\src\com\mediatek\systemui\plugin\Op02StatusBarPlugin.java的样子,具体如下:
(1) 增加
import com.mediatek.systemui.ext.DataType;
import com.mediatek.systemui.ext.NetworkType;
import com.android.systemui.R;
(2) public Resources getPluginResources() {
return this.getResources();
//return null;
}
(3) public int getSignalStrengthNullIconGemini(int slotId) {
if (slotId == 0) {
return R.drawable.stat_sys_gemini_signal_null_sim1; //显示无信号图标
} else if (slotId == 1) {
return R.drawable.stat_sys_gemini_signal_null_sim2; //显示无信号图标
}
return -1;
}
(4) public int getSignalIndicatorIconGemini(int slotId) {
if (slotId == 0) {
return R.drawable.stat_sys_gemini_signal_indicator_sim1;
} else if (slotId == 1) {
return R.drawable.stat_sys_gemini_signal_indicator_sim2;
}
return -1;
}
(5) public int[] getDataTypeIconListGemini(boolean roaming, DataType dataType) {
int[] iconList = null;
if (roaming) {
iconList = TelephonyIcons.DATA_ROAM[dataType.getTypeId()];
}
return iconList;
//return null;
}
(6) public int getDataNetworkTypeIconGemini(NetworkType networkType, int simColorId) {
int typeId = networkType.getTypeId();
if (typeId >= 0 && typeId <= 1) {
return TelephonyIcons.NETWORK_TYPE[typeId][simColorId];
}
return -1;
}
(7) public String get3gDisabledWarningString() {
return getString(R.string.gemini_3g_disable_warning);
//return null;
}
return this.getResources();
//return null;
}
(3) public int getSignalStrengthNullIconGemini(int slotId) {
if (slotId == 0) {
return R.drawable.stat_sys_gemini_signal_null_sim1; //显示无信号图标
} else if (slotId == 1) {
return R.drawable.stat_sys_gemini_signal_null_sim2; //显示无信号图标
}
return -1;
}
(4) public int getSignalIndicatorIconGemini(int slotId) {
if (slotId == 0) {
return R.drawable.stat_sys_gemini_signal_indicator_sim1;
} else if (slotId == 1) {
return R.drawable.stat_sys_gemini_signal_indicator_sim2;
}
return -1;
}
(5) public int[] getDataTypeIconListGemini(boolean roaming, DataType dataType) {
int[] iconList = null;
if (roaming) {
iconList = TelephonyIcons.DATA_ROAM[dataType.getTypeId()];
}
return iconList;
//return null;
}
(6) public int getDataNetworkTypeIconGemini(NetworkType networkType, int simColorId) {
int typeId = networkType.getTypeId();
if (typeId >= 0 && typeId <= 1) {
return TelephonyIcons.NETWORK_TYPE[typeId][simColorId];
}
return -1;
}
(7) public String get3gDisabledWarningString() {
return getString(R.string.gemini_3g_disable_warning);
//return null;
}
6. frameworks\base\packages\SystemUI\ext\Android.mk 删除这个mk文件
7. frameworks\base\packages\\SystemUI\ext\src\com目录下mediatek的folder 复制到\frameworks\base\packages\SystemUI\src\com路径下,与android部分并列
8. frameworks\base\packages\SystemUI\ext\ 将ext的目录删除
7. frameworks\base\packages\\SystemUI\ext\src\com目录下mediatek的folder 复制到\frameworks\base\packages\SystemUI\src\com路径下,与android部分并列
8. frameworks\base\packages\SystemUI\ext\ 将ext的目录删除
单卡项目如何实现状态栏上信号图标左边在网络处于2G状态显示“G”,处于3G状态显示“3G”图标
单卡的项目目前没有显示G图标的layout,如果要做此feature需要参考双卡文件对应的修改:
完成feature的步骤:
(1)添加view id
(2)对view id进行初始化
(3)之后就是在网络状态变化时显示不同的图标,也就是控制图标的更新
完成feature的方法:
1. layout gemini_signal_cluster_view.xml 有个view是network_type,请在单卡文件signal_cluster_view.xml也对应的增加这个view
2. 搜索这个view id “network_typenetwork_type”被使用的地方等,将signalclusterviewgemini与networkcontrollergemini文件对应的修改merge到signalclusterview与networkcontroller。
2. 搜索这个view id “network_typenetwork_type”被使用的地方等,将signalclusterviewgemini与networkcontrollergemini文件对应的修改merge到signalclusterview与networkcontroller。
0 0
- Android4.1 如何实现状态栏上信号图标有SIM卡1,2标记,并且当处于2G状态显示“G”,处于3G状态显示“3G”
- 双卡项目如何在状态栏显示或隐藏G,3G以及卡1和卡2的信号标识
- [FAQ04679]双卡项目如何在状态栏显示或隐藏G,3G以及卡1和卡2的信号标识
- 1G/2G/2.5G/3G
- FAQ11708]如何去掉状态栏G、3G图标
- 根据状态栏获取网络状态,区分2G、3G、4G、WIFI
- 移除G或者3G图标显示
- nokia xl 4g在4g/3g信号不稳定状态下自动切换到2g网络不能上网的问题
- 状态栏通知网络链接的情况(wifi 2g/3g/4g/无网络链接状态)
- 获取处于前台显示状态的Fragment
- winform如何实现一个窗体显示后,其他的窗体处于不可编辑状态
- 状态栏3G-4G信号
- oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形
- 1G、2G、3G、4G是什么
- android网络状态判断(wifi、3G、2G)
- android网络状态判断(wifi、3G、2G)
- 判断网络状态,2G,3G,Wifi
- 检测当前网络状态,,2g,,3g,,WiFi
- 浏览器地理位置(Geolocation)API 简介
- 6个用于大数据处理分析的最好工具
- 数据分析的基本流程和方法
- jquery 数组 添加元素
- Data Guard
- Android4.1 如何实现状态栏上信号图标有SIM卡1,2标记,并且当处于2G状态显示“G”,处于3G状态显示“3G”
- 互斥锁的概念和使用方法。
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件
- 【Cmake学习笔记】编译安装
- leetcode--Word Ladder
- linux 使用rpm安装软件时,遇到"warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOK
- setupUI(this)是什么意思
- Android图片处理(Matrix,ColorMatrix)
- 温柔