zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    js中Frame框架的属性获取(1)
    c#中文件上传(1)
    表单验证Validform
    Mybatis语法笔记
    js的checkbox
    调用微信Js-SDK支付
    调用微信Js-SDK图片
    java后台上传到linux
    web服务器内层溢出
    SpringMVC
  • 原文地址:https://www.cnblogs.com/kevincode/p/3837888.html
Copyright © 2011-2022 走看看