android-状态栏SIM卡信号显示(一)

来源:互联网 发布:java怎么调用函数 编辑:程序博客网 时间:2024/05/08 22:12

4.3

多SIM卡状态栏信号更新:

1>:

信号以是否连接使用数据分为2组:未连接使用数据的,连接使用数据的:

TelephonyIcons.java
    //GSM/UMTS

    static final int[][] TELEPHONY_SIGNAL_STRENGTH = {
        { R.drawable.stat_sys_signal_0,
          R.drawable.stat_sys_signal_1,
          R.drawable.stat_sys_signal_2,
          R.drawable.stat_sys_signal_3,
          R.drawable.stat_sys_signal_4 },
        { R.drawable.stat_sys_signal_0_fully,
          R.drawable.stat_sys_signal_1_fully,
          R.drawable.stat_sys_signal_2_fully,
          R.drawable.stat_sys_signal_3_fully,
          R.drawable.stat_sys_signal_4_fully }
    };

2>:

数据是否连接使用在MSimNetworkController.java的updateConnectivity(Intent intent)方法里依据底层值判断:

// INET_CONDITION_THRESHOLD = 50

int connectionStatus = intent.getIntExtra(ConnectivityManager.EXTRA_INET_CONDITION, 0);
mInetCondition = (connectionStatus > INET_CONDITION_THRESHOLD ? 1 : 0);
其中:
    /**
     * The lookup key for an int that provides information about
     * our connection to the internet at large.  0 indicates no connection,
     * 100 indicates a great connection.  Retrieve it with
     * {@link android.content.Intent#getIntExtra(String, int)}.
     * {@hide}
     */
    public static final String EXTRA_INET_CONDITION = "inetCondition";

另外:ConnectivityManagerEXTRA_INET_CONDITION值是在LINUX/android/frameworks/opt/connectivity/services/java/QcConnectivityService.java里intent.putExtra(ConnectivityManager.EXTRA_INET_CONDITION , xxxxxxxxx);

注:1>:数据是连接使用 != 数据连接。

 2>:另外状态栏在MSimNetworkController.java中还有一个数值判断当前数据是否连接,这个值服务于数据上下行箭头标识的控制。

0 0