在建立数据业务成功后,如果有数据传输就会更新StatusBar上数据上下行的图标, 更新上下行图标的前提条件是:

1.MobileSignalController必须注册PhoneStateListener监听,并且包括PhoneStateListener.LISTEN_DATA_ACTIVITY事件.如下:

public void registerListener() {

    mPhone.listen(mPhoneStateListener,

            PhoneStateListener.LISTEN_SERVICE_STATE

                    | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS

                    | PhoneStateListener.LISTEN_CALL_STATE

                    | PhoneStateListener.LISTEN_DATA_CONNECTION_STATE

                    | PhoneStateListener.LISTEN_DATA_ACTIVITY

                    | PhoneStateListener.LISTEN_CARRIER_NETWORK_CHANGE);

}

2.在建立好数据业务后,通过下面流程进行call到APP.

通过下面的线程分别在亮屏或黑屏的情况下,定不同的时间进行轮训当前的数据上下行和更新APP上的图标.

private final Runnable mPollNetStat = new Runnable() {
    @Override
    public void run() {
        updateDataActivity();

        if (mIsScreenOn) {
            mNetStatPollPeriod = Settings.Global.getInt(mResolver,
                    Settings.Global.PDP_WATCHDOG_POLL_INTERVAL_MS, POLL_NETSTAT_MILLIS);
        } else {
            mNetStatPollPeriod = Settings.Global.getInt\(mResolver,
                    Settings.Global.PDP_WATCHDOG_LONG_POLL_INTERVAL_MS,
                    POLL_NETSTAT_SCREEN_OFF_MILLIS);
        }

        if (mNetStatPollEnabled) {
            mDataConnectionTracker.postDelayed(this, mNetStatPollPeriod);
        }
    }
};

results matching ""

    No results matching ""