Java 网络信息反射
我试图反映所描述的Java 网络信息反射,java,android,Java,Android,我试图反映所描述的NetworkInfo的构造函数 到目前为止我有 NetworkInfo mNetworkInfo; Class<NetworkInfo> clazz = NetworkInfo.class; Constructor<NetworkInfo> con = clazz.getConstructor(int.class,int.class,String.class,String.class); mNetworkInfo = c
NetworkInfo
的构造函数
到目前为止我有
NetworkInfo mNetworkInfo;
Class<NetworkInfo> clazz = NetworkInfo.class;
Constructor<NetworkInfo> con = clazz.getConstructor(int.class,int.class,String.class,String.class);
mNetworkInfo = con.newInstance(n1,n2,s1,s2);
NetworkInfo-mNetworkInfo;
clazz类=NetworkInfo.Class;
构造函数con=clazz.getConstructor(int.class,int.class,String.class,String.class);
mNetworkInfo=con.newInstance(n1、n2、s1、s2);
然而,我不断得到一个
NoSuchMethodException
错误。我做错了什么?您正确地使用了getConstructor
。我认为你只是没有android SDK的兼容版本
的javadoc不显示任何构造函数
您是否在运行版本为
4.2.2_r1
的设备上运行代码?以及您希望实现的目标?如果有另一种方法可以以“更干净的方式”实现某些功能,则不建议使用反射。我正在尝试对使用ConnectivityManager.getActiveNetworkInfo()
的类进行单元测试,该类返回一个NetworkInfo
对象。我想用mNetworkInfo替换它。我的sdk最低版本是8。从Grepcode中可以看到,这个构造函数从API 3开始就存在了。@RaickyDerwent API level 8(Froyo)是android版本2.2.x。看见该版本中似乎不存在构造函数。感谢您的快速响应。我指的是,构造函数出现在2.2.x之前。我在dev.android网站上找不到任何与此相关的信息。@Raicky如果您愿意,您可以查看所有这些信息。更改API级别。你是对的!在输入第一条评论之前,我没有阅读你的完整回复。它确实在4.2设备上工作!非常感谢你!