1. 反编译小米的TeleService.apk,查看smali代码得知有一个getPreferredDataSlotId方法,相关代码:
invoke-static {}, Lmiui/telephony/MultiSimManager;->getInstance()Lmiui/telephony/MultiSimManager;
move-result-object v1
invoke-virtual {v1}, Lmiui/telephony/MultiSimManager;->getPreferredDataSlotId()I;
2. 使用java反射方法调用:
try {
Class<?> clazz = Class.forName("miui.telephony.MultiSimManager");
Method method = clazz.getDeclaredMethod("getInstance");
Object obj = (Object) method.invoke(null);
Method method2 = clazz.getDeclaredMethod("getPreferredDataSlotId");
Integer val = (Integer) method2.invoke(obj);
Log.e("pmtoam", "[sam] val = " + val);
} catch (Exception e) {
e.printStackTrace();
}
=============THE END===============