wps pin连接应该支持自动生成pin码功能,但是android连接时
1:pin码必须正确
2:pin码不为空
static jstring android_net_wifi_wpsPinFromDeviceCommand(JNIEnv* env, jobject, jstring javaBssid)
{
ScopedUtfChars bssid(env, javaBssid);
if (bssid.c_str() == NULL) {
return NULL;
}
return doStringCommand(env, "WPS_PIN %s", bssid.c_str());
}
另外输入ap端pin码不成功
static jboolean android_net_wifi_wpsPinFromAccessPointCommand(JNIEnv* env, jobject,
jstring javaBssid, jstring javaApPin)
{
ScopedUtfChars bssid(env, javaBssid);
if (bssid.c_str() == NULL) {
return JNI_FALSE;
}
ScopedUtfChars apPin(env, javaApPin);
if (apPin.c_str() == NULL) {
return JNI_FALSE;
}
return doBooleanCommand("OK", "WPS_REG %s %s", bssid.c_str(), apPin.c_str());
}
WpsResult result;
switch (mWpsInfo.setup) {
case WpsInfo.PBC://正确
result = WifiConfigStore.startWpsPbc(mWpsInfo);
break;
case WpsInfo.KEYPAD://不确定,手机输入ap pin码走流程
result = WifiConfigStore.startWpsWithPinFromAccessPoint(mWpsInfo);
break;
case WpsInfo.DISPLAY://正确
result = WifiConfigStore.startWpsWithPinFromDevice(mWpsInfo);
break;
default:
result = new WpsResult(Status.FAILURE);
Log.e(TAG, "Invalid setup for WPS");
break;
}