swiftp
swiftp copied to clipboard
How to start FTP sever under 4g network
RT
if (!isConnectedToLocalNetwork()) {
Log.w(TAG, "run: There is no local network, bailing out");
stopSelf();
sendBroadcast(new Intent(ACTION_FAILEDTOSTART));
return;
}
public static boolean isConnectedToLocalNetwork() {
boolean connected = false;
Context context = App.getAppContext();
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
connected = ni != null
&& ni.isConnected()
&& (ni.getType() & (ConnectivityManager.TYPE_WIFI | ConnectivityManager.TYPE_ETHERNET)) != 0;
if (!connected) {
Log.d(TAG, "isConnectedToLocalNetwork: see if it is an WIFI AP");
WifiManager wm = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
try {
Method method = wm.getClass().getDeclaredMethod("isWifiApEnabled");
connected = (Boolean) method.invoke(wm);
} catch (Exception e) {
e.printStackTrace();
}
}
if (!connected) {
Log.d(TAG, "isConnectedToLocalNetwork: see if it is an USB AP");
try {
List<NetworkInterface> networkInterfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface netInterface : networkInterfaces) {
if (netInterface.getDisplayName().startsWith("rndis")) {
connected = true;
}
}
} catch (SocketException e) {
e.printStackTrace();
}
}
return connected;
}
@ppareit