CT MODE STATUSBAR ICON [MobileActivityIcon]

本文介绍了CT模式下,针对CDMA网络和WiFi连接状态在状态栏的控制逻辑。涉及到触发刷新的多种情况,如数据连接变化、SIM卡状态变化等。在更新数据图标时,会根据TelephonyManager的数据连接状态决定是否显示移动数据标识。当WiFi未连接且有移动数据连接时,显示移动数据图标;当WiFi连接时,移动数据图标将隐藏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.3-statusbar

    

CT模式的cdma的wifi连接状况和移动数据type显示间控制:

1:触发刷新

1>:telephony的监听数据连接变化onDataConnectionStateChanged方法

2>:telephony的监听数据使用变化onDataActivity方法

3>:Sim卡状态变化

4>:telephony监听服务变化onServiceStateChanged方法

5>:数据连接变化

ConnectivityManager.CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"

ConnectivityManager.INET_CONDITION_ACTION = "android.net.conn.INET_CONDITION_ACTION"


2:刷新

1>:

updateDataIcon(int subscription)方法

cdma:

卡已识别时,判断SIM卡数据是否连接:

if (mDataState == TelephonyManager.DATA_CONNECTED) {

。。。

visible = true;

。。。

}else{

visible = false;

}

......

mMSimDataConnected[subscription] = visible;

2>:mDataState  赋值在telephony的监听

getPhoneStateListener(sub){

public void onDataConnectionStateChanged(int state, int networkType) {

mDataState = state;

}

}

3>:

refresh(sub)中通过接口CTMSimSignalClusterView的setMobileDataIndicators方法传递mMSimDataConnected[subscription]值

3:显示

CTMSimSignalClusterView的setMobileDataIndicators方法传递至applySubscription(sub)方法:

mMobileActivity[subscription].setVisibility(dataEnabledsub[subscription] ? View.VISIBLE : View.GONE);


注:wifi未连接,同时已有移动数据连接时mDataState = TelephonyManager.DATA_CONNECTED,此时若wifi连接时:

wifi的mWifiVisible=true,wifi显示;telephony监听到数据连接变化调用onDataConnectionStateChanged赋值mDataState = 0,从而mMobileActivity[subscription]改变为View.GONE .


4:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值