Android - 无法访问**包android.telephony下的一些类**

时间:2015-03-31 13:55:56

标签: java android reflection android-source telephony

我正在尝试使用反射访问存储在android.telephony包下的类,但是对于某些类我正在ClassNotFoundException

任何人都可以告诉我为什么有些类可以被访问而有些类甚至不是这些类都在同一个包中?

Ex:public class TelephonyManager可以使用反射进行访问,如下所示

try {
Class<?> manager1 = Class.forName("android.telephony.TelephonyManager");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
无法使用反射

访问

public class SubscriptionManager

try {
Class<?> subscriptionManager = Class.forName("android.telephony.SubscriptionManager");
//Throwing error
} catch (ClassNotFoundException e1) {
e1.printStackTrace(); 
}

这两个类属于同一个包android.telephony

1 个答案:

答案 0 :(得分:2)

可能是因为SubscriptionManager刚刚在API 22中添加,而您使用的手机或模拟器没有Android 5.1。

那反射是如何起作用的!如果没有类,则抛出ClassNotFoundException