// 用反射调用隐藏的方法。
try {
Class manager = Class.forName("com.youku.dvbvpnapi.MPVpnManager");
Method method = manager.getMethod("createVpnClient",int.class);
int ret = (int) method.invoke(manager.newInstance(),MP_VPN_TYPE_SYSTEM);
if(ret == MP_VPN_SUCCESS){
mVpnType = MP_VPN_TYPE_SYSTEM;
}
return ret;
} catch (Exception e) {
Log.d(TAG, "doInitSystemVpnSdk"+ e.toString());
}
//
try {
Class config = Class.forName(" com.youku.dvbvpncommon.bean.SagVpnConfig");
Method method = config.getMethod("startVpn",String.class,String.class,String.class);
Object object = method.invoke(config.newInstance(),account,password,sagid);
Class manager = Class.forName("com.youku.dvbvpnapi.MPVpnManager");
Method startVpn = manager.getMethod("startVpn", Object.class);
int ret = (int) startVpn.invoke(manager.newInstance(),object);
return ret == MP_VPN_SUCCESS ? true : false;
} catch (Exception e) {
Log.d(TAG, "doStartSagVpn"+ e.toString());
}
return false;
//
Class clazz = mSmartRefreshLayout.getClass(); try { Field fs = clazz.getDeclaredField("mEnableRefresh");//获取类中public Filed包括父类 fs.setAccessible(true); if(fs.getBoolean(mSmartRefreshLayout)){ refreshWithLoading(); }else{ refresh(); } } catch (Exception e) { L.e("mEnableRefresh",e.toString()); refresh(); e.printStackTrace(); }