代码之家  ›  专栏  ›  技术社区  ›  DCoder

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

  •  2
  • DCoder  · 技术社区  · 9 年前

    我正在尝试访问存储在 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(); 
    }
    

    两个类属于同一个包 男用电话

    1 回复  |  直到 9 年前
        1
  •  2
  •   Yash Sampat    9 年前

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

    这就是反思的工作原理!如果类不存在 ClassNotFoundException 被抛出。