【笔记】Android Telephony 定制日志打印格式 (双卡)

 针对双卡设备,需要区分subscription,确定运营商信息、网络状态等等与卡相关的功能操作。

LOG工具代码

import com.android.telephony.Rlog;

public class NetworkOperatorList {
    static final String LOG_TAG = "NetworkOperatorList";

    protected final void logd(String s, int phoneId) {
        Rlog.d(LOG_TAG, "[" + phoneId + "] " + s);
    }

    private void handleReceiveForPhone(Context context, Intent intent, int phoneId) {
        logd("handleReceiveForPhone for phone ", phoneId);
    }

}

Note:为什么直接用logd会提示优化?源码也是 log没有d。

 

说明 :typo 意为错字,其实都会提示的,包括源码的logv

参考

参考ServiceStateTracker,打印双卡信息,但基于全局变量mPhone实现的 ,源码如下:

//frameworks/opt/telephony/src/java/com/android/internal/telephony/ServiceStateTracker.java

package com.android.internal.telephony;

import com.android.telephony.Rlog;

/**
 * {@hide}
 */
public class ServiceStateTracker extends Handler {
    static final String LOG_TAG = "SST";

    //Common
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    protected final GsmCdmaPhone mPhone;

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    protected final void log(String s) {
        Rlog.d(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + s);
    }

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    protected final void loge(String s) {
        Rlog.e(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + s);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值