Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-无法访问**程序包Android.telephony下的某些类**_Java_Android_Reflection_Android Source_Telephony - Fatal编程技术网

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

Java Android-无法访问**程序包Android.telephony下的某些类**,java,android,reflection,android-source,telephony,Java,Android,Reflection,Android Source,Telephony,我试图使用反射访问存储在android.telephony包下的类,但对于某些类,我得到了ClassNotFoundException 有人能告诉我为什么有些类可以访问,而有些则不能,即使这些类位于同一个包中 例如:公共类TelephonyManager可以使用反射进行访问,如下所示 try { Class<?> manager1 = Class.forName("android.telephony.TelephonyManager"); } catch (ClassNotFound

我试图使用反射访问存储在android.telephony包下的类,但对于某些类,我得到了
ClassNotFoundException

有人能告诉我为什么有些类可以访问,而有些则不能,即使这些类位于同一个包中

例如:
公共类TelephonyManager
可以使用反射进行访问,如下所示

try {
Class<?> manager1 = Class.forName("android.telephony.TelephonyManager");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
这两个类属于同一个软件包
android.telephony

可能是因为它刚刚添加到API 22中,并且您使用的手机或模拟器没有android 5.1


这就是反射的工作原理!如果一个类不存在,就会抛出
ClassNotFoundException

我已经在同一个存储库中下载了android 22和21的源代码,我认为GIT已经将它们合并在一起了。这引起了混乱。哦,我明白了:)制作两个独立的版本需要它们吗?不,刚刚删除了22;)
try {
Class<?> subscriptionManager = Class.forName("android.telephony.SubscriptionManager");
//Throwing error
} catch (ClassNotFoundException e1) {
e1.printStackTrace(); 
}