Передача файлов через точку доступа - PullRequest
0 голосов
/ 10 июля 2020

Передача файлов через точку доступа

Этот проект передает файлы через 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());
    }
}

Я пробовал использовать этот код, но он не работал.

Как я могу это сделать?

...