您的位置:首页 > 其它

反射

2016-07-12 12:15 253 查看
获取小米双卡双待手机默认上网卡槽的方法

反编译小米的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;


使用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();
}


反射机制

http://www.cnblogs.com/mengdd/archive/2013/01/26/2877972.html

http://blog.csdn.net/liujiahan629629/article/details/18013523
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: