Передача файлов через точку доступа
Этот проект передает файлы через Wi-Fi на p c.
Я хочу отправлять файлы как через Wi-Fi, так и через точку доступа.
Мой проект
Этот делится файлами с IP-адресом Wi-Fi.
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.os.Parcelable;
import com.hwangjr.rxbus.RxBus;
import me.pengtao.filetransfer.Constants;
public class WifiConnectChangedReceiver extends
BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
Parcelable parcelableExtra = intent
.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (null != parcelableExtra) {
NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;
RxBus.get().post(Constants.RxBusEvent
Type.WIFI_CONNECT_CHANGE_EVENT,
networkInfo.getState());
}
}
}
}
Этот код используется для получения IP-адреса вай-фай. Я хочу делиться файлами как через Wi-Fi, так и через точку доступа. Итак, я заменил этот код, чтобы получить IP-адрес Wi-Fi и точки доступа.
public void getDeviceIpAddress() {
try {
for (Enumeration<NetworkInterface> enumeration = NetworkInterface
.getNetworkInterfaces(); enumeration.hasMoreElements();) {
NetworkInterface networkInterface = enumeration.nextElement();
for (Enumeration<InetAddress> enumerationIpAddr = networkInterface
.getInetAddresses(); enumerationIpAddr
.hasMoreElements();) {
InetAddress inetAddress = enumerationIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()
&& inetAddress.getAddress().length == 4) {
tvServerIP.setText(inetAddress.getHostAddress());
}
}
}
} catch (SocketException e) {
Log.e("ERROR:", e.toString());
}
}
Я пробовал использовать этот код, но он не работал.
Как я могу это сделать?