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

  • 相关阅读:
    (转)解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
    ASP.NET AJAX(开发代号Atlas)重要参考资源大收集
    Ajax.NET 和 Atlas 区别
    SqlDataAdapter的几种常用方法
    C# 2.0与泛型
    DataView 使用技巧 [转]
    .net事务
    SQL Server 2005 SQL Server 2000 改进
    Crystal Reports for Visual Studio 2005 学习一(报表绑定方案)
    oracle的substr函数的用法
  • 原文地址:https://www.cnblogs.com/kevincode/p/3837888.html
Copyright © 2011-2022 走看看