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设备上工作!非常感谢你!