• BUG_学习随笔(移动数据快捷开关)


    4.3

    一、

    状态栏移动数据快捷开关:开启飞行模式或者关机重启后,移动数据状态与之前的相反;但是从系统其它地方移动数据开关的操作不会这样

    分析移动数据状态更新处理 ,找到改变其值的地方(发现有radio的log),对比系统其它地方与状态栏对其的操作的底层radio的log确定差异;仿照正确的代码处理地方对状态栏移动数据开关进行操作

    1>:移动数据最终都是在frameworks/opt/telephony-msim/frameworks/src/com/codeaurora/internal/telephony/MSimPhoneFactory.java里面被赋值的。

    Settings.Global.putInt(sContext.getContentResolver(),Settings.Global.MOBILE_DATA, enabled ? 1 : 0);

    Rlog.d(LOG_TAG, "set mobile_data: " + enabled);

    2>:Log.w("quickSettingsModel ",new NullPointerException());

    3>:adb logcat -b radio -v time >d:radio.txt

    二、

    设置里的移动数据开关:

    packages/apps/Settings/Settings。java:

    mDataEnabler = new DataEnabler(context, new Switch(context));

    通过DataEnabler.java来实现,在其里监听状态并改变:

    private OnCheckedChangeListener mDataEnabledListener= new OnCheckedChangeListener() {

    @Override

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

    mMobileDataEnabled = mConnService.getMobileDataEnabled();

    if(mMobileDataEnabled != mSwitch.isChecked()){

    mConnService.setMobileDataEnabled(isChecked);

    for (int i = 0; i < MAX_PHONE_COUNT_TRI_SIM;i++){

    Settings.Global.putInt(mContext.getContentResolver(),

    Settings.Global.MOBILE_DATA + i, isChecked ? 1 : 0);

    }

    }

    }

    };

    另外,插入SIM卡后设置里的“流量使用情况”对应的activity:DataUsageSummary.java,其也有移动数据开关赋值处理;类似设置的“移动数据”switch

  • 相关阅读:
    使用Xshell登录AWS的EC2云服务器和开启EC2上允许root+密码方式登录
    Spring进阶—如何用Java代码实现邮件发送(二)
    使用Spring的JAVA Mail支持简化邮件发送
    jquery $.each终止本次循环
    高山流水,知音难觅
    chrome浏览器 开发者工具简介
    多尺寸图片左右切换功能前端实现
    会员等级进度功能前端实现
    Chrome Developer Tools:Timeline Panel说明
    直播评论发弹幕切图功能点集合
  • 原文地址:https://www.cnblogs.com/kevincode/p/3837888.html
Copyright © 2020-2023  润新知