状态栏信号作假显示

本文介绍了在Android系统中如何针对3G和4G信号进行状态栏图标作假,涉及读取GTypeFlag配置文件、刷新状态栏大图标、获取并修改大图标和小图标的方法,以及在不同场景下的动态作假策略。通过对系统代码的修改,实现了根据用户手动切换的信号值来动态作假显示网络信号。
摘要由CSDN通过智能技术生成

                              状态栏3G-4G信号


//80平台,3G项目,针对3G/4G信号作假,主要有两种方案:

/**
    *
    *一.静态作假(U165系列):
    A)简单说明:数据流量信号(信号条上的小图标)不随真实信号的改变而改变,只根据统一切换指令中切换的SIM卡信号(信号条左边大图标)类型而改变,例如,down机默认normal(真实),那么插卡后SIM卡信号图标和数据流量图标都会根据真实信号显示,当用户在统一切换指令中手动选择了3G(一说双3G),那么状态栏中SIM卡信号大图标和数据流量小图标都将变为3G.
    B)修改文件:导入时,具体的修改文件,可以在U1653Q的修改记录中查找我的标签(张亚伦)查看详细记录
 
    P.S.为了方便起见,以后:数据流量信号——小图标,SIM卡信号——大图标。下面简单介绍一下作假流程,以及经常修改的地方和方法。
*/
/**
    1.默认值修改
    a)路径:framworks/base/core/java/android/os/ProjectManager.java
    b)文件不存在时,返回默认值;统一信息切换指令中有变动时,返回用户手动切换的值
    c)返回值: 0-关闭(normal) , 3-3G, 4-double 4G,5-single 4G    

    */

private static final String GTYPE_FILE_NAME = "GTypeFlag";

public static int readGTypeFlag()
    {
        byte flag = 0;
        File file = new File(INTERNAL_DIR,GTYPE_FILE_NAME);
        if(!file.exists()){
            if(isAndroid()){
                return 0;//默认normal
            }else{
                return 5;//默认single 4G
            }
        }
        try {
            FileInputStream fis = new FileInputStream(file);
            flag = (byte)fis.read();
            fis.close();
        } catch (Exception e) {
            Log.e(TAG,"readGTypeFlag e " + e.toString());

            return -1;
        }
        Log.e(TAG," readGTypeFlag flag="+flag);
        return (int)flag;
    }

/**
    2.状态栏大图标显示
    a)路径:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
    b)刷新状态栏中的大图标
    c)当系统不处于飞行模式并且能接受到网络信号时,调用TelephonyIcons类中的getTypeIcon方法,获去所需图标
    
    */

public boolean apply(boolean isSecondaryIcon) {
            Xlog.d(TAG, "apply(" + mSubId + ")," + " mMobileVisible= " + mMobileVisible +
                   ", mIsAirplaneMode= " + mIsAirplaneMode);

 
            ...

            if (!mIsAirplaneMode && mNetworkType != null) {

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值