小编典典

如何以编程方式检查哪个sim设置为android中的默认sim

java

我正在尝试检查我的移动设备是否是双SIM卡,sim1是否已准备好,sim2是否已准备好,我已使用java反射完成了此操作,现在我想确定sim1
isRoaming和sim2 isRoaming以及是否其双SIM卡(默认设置为sim卡)。是否可以借助Java反射。


阅读 222

收藏
2020-11-16

共1个答案

小编典典

您可以执行以下操作:

public int  getDefaultSimmm(Context context) {

    Object tm = context.getSystemService(Context.TELEPHONY_SERVICE);
    Method method_getDefaultSim;
    int defaultSimm = -1;
    try {
        method_getDefaultSim = tm.getClass().getDeclaredMethod("getDefaultSim");
        method_getDefaultSim.setAccessible(true);
        defaultSimm = (Integer) method_getDefaultSim.invoke(tm);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    Method method_getSmsDefaultSim;
    int smsDefaultSim = -1;
    try {
        method_getSmsDefaultSim = tm.getClass().getDeclaredMethod("getSmsDefaultSim");
        smsDefaultSim = (Integer) method_getSmsDefaultSim.invoke(tm);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return smsDefaultSim;
    }
2020-11-16