Android - 无法访问 **包 android.telephony** 下的一些 类
Android - Unable to access some classes under **package android.telephony**
我正在尝试使用反射访问存储在 android.telephony
包下的 类 但对于某些 类 我得到 ClassNotFoundException
.
谁能告诉我为什么有些 类 可以访问而有些不能访问,即使这个 类 位于同一个包中?
例如: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
可能是因为 SubscriptionManager
是在 API 22 中添加的,而您使用的 phone 或模拟器没有 Android 5.1.
反射应该就是这样工作的!如果 class 不存在,则抛出 ClassNotFoundException
。
我正在尝试使用反射访问存储在 android.telephony
包下的 类 但对于某些 类 我得到 ClassNotFoundException
.
谁能告诉我为什么有些 类 可以访问而有些不能访问,即使这个 类 位于同一个包中?
例如: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
可能是因为 SubscriptionManager
是在 API 22 中添加的,而您使用的 phone 或模拟器没有 Android 5.1.
反射应该就是这样工作的!如果 class 不存在,则抛出 ClassNotFoundException
。