Android 反射获取一个方法(方法的参数不一样)

时间:2023-03-08 21:55:49
        private Method forget;
private Method connect_netID;
private Method connect_wifiConfig;
private Method save; public Compatimpl17() {
try {
Class ActionListener = Class.forName("android.net.wifi.WifiManager$ActionListener", false, null);
connect_netID = WifiManager.class.getDeclaredMethod("connect", int.class, ActionListener);
connect_wifiConfig = WifiManager.class.getDeclaredMethod("connect", WifiConfiguration.class, ActionListener);
forget = WifiManager.class.getDeclaredMethod("forget", int.class, ActionListener);
save = WifiManager.class.getDeclaredMethod("save", WifiConfiguration.class, ActionListener);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
     
public boolean connect(int networkId) {
try {
connect_netID.invoke(getManager(), networkId, null);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}