jni:/framework/base/core/jni/android_net_wifiNative.cpp
例如
static jboolean android_net_wifi_startSupplicant(JNIEnv* env, jobject, jboolean p2pSupported)
{
return (::wifi_start_supplicant(p2pSupported) == 0);
}
对应
hardware/libhardware_legacy/wifi/wifi.c
int wifi_start_supplicant(int p2p_supported)
{
}
static jboolean android_net_wifi_connectToSupplicant(JNIEnv* env, jobject)
{
return (::wifi_connect_to_supplicant() == 0);
}
/*
P2P_CONFIG_FILE的值为“/data/misc/wifi/p2p_supplicant.conf”。下面这个函数将把
/system/etc/wifi/wpa_supplicant.conf的内容复制到P2P_CONFIG_FILE中。
*/
/*
Android 4.2支持STA和P2P设备并发(concurrent)工作,STA用PRIMARY(值为0)来标示,
而P2P设备用SECONDARY(值为1)代表。is_primary_interface用于判断ifname是否代表STA。
*/
if (is_primary_interface(ifname)) {
root@AVNTG2A5H6:/ # getprop | grep “wpa_supplicant”
[init.svc.wpa_supplicant]: [running]
root@AVNTG2A5H6:/ # getprop | grep “wpa_supplicant”
[init.svc.wpa_supplicant]: [stopped]