首页 > 代码库 > andrid对不能导入的类,知道类路径如何使用该类

andrid对不能导入的类,知道类路径如何使用该类

andrid对不能导入的类,知道类路径如何使用该类?使用java的反射机制。下边是一个例子。

MTK平台对Android源生的Telephone接口进行了扩展,添加了一个TelephonyManagerEx类来对双卡进行支持:
类名: com.mediatek.telephony.TelephonyMangerEx;
应用中,我们可以通过java的反射机制来调用其中的接口:


Class clazz = Class.forName("com.mediatek.telephony.TelephonyManagerEx");
Method getInstance = clazz.getDeclaredMethod("getDefault");
Object obj = getInstance.invoke(null, null);


Method getImsi = clazz.getDeclaredMethod("getSubscriberId", int.class);
String imsi0 = (String) getImsi.invoke(obj, 0);
Log.v(TAG, "imsi0 = " + imsi0);


// 在这些函数中,传入的参数表示sim卡id,取值0和1,分别表示两张sim卡
可以在调用Method.invoke()中传入参数

andrid对不能导入的类,知道类路径如何使用该类