Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:建立互联网连接_Android - Fatal编程技术网

Android 安卓:建立互联网连接

Android 安卓:建立互联网连接,android,Android,我很惊讶在互联网上找不到关于这种常见情况的任何信息:如何启动互联网连接?我看过,但它似乎只是为了监测网络连接 PS:手机将被锁定,因此这不是问题。您确实可以打开或关闭wifi(另请参阅) 但不能保证,如果打开wifi,将有一个互联网连接 ConnectionManager仅允许您检查当前的连接状态。您不能使用它来启用连接。此外,ConnectionManager不知道活动网络连接是否为internet连接,但自己很容易检查(请参阅) 例如) 插座是您所需要的。要获取有关它们的基本信息,请在此处阅

我很惊讶在互联网上找不到关于这种常见情况的任何信息:如何启动互联网连接?我看过,但它似乎只是为了监测网络连接


PS:手机将被锁定,因此这不是问题。

您确实可以打开或关闭wifi(另请参阅) 但不能保证,如果打开wifi,将有一个互联网连接

ConnectionManager仅允许您检查当前的连接状态。您不能使用它来启用连接。此外,ConnectionManager不知道活动网络连接是否为internet连接,但自己很容易检查(请参阅)
例如)

插座是您所需要的。要获取有关它们的基本信息,请在此处阅读: 您不必全部阅读,但我认为您至少阅读所有“实现问题”以熟悉套接字方法是很重要的。当然,这些方法对于每个平台(Windows、Android等)的实现方式不同,但它们通常在任何地方都是相同的。因此,一旦您了解了每个套接字的功能,就可以轻松地在任何平台上使用套接字

此图(来自wiki)有助于演示套接字的用法:

你在客户端。因此,只需创建一个套接字并为服务器的IP地址调用
connect
方法

就我个人而言,我从未在Android开发中使用过套接字。但我认为你应该使用这个类:

如果您只想启用WiFi,可以使用以下方法:

private boolean changeWifiState(boolean state) {
    final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifi.setWifiEnabled(state);
    return wifi.isWifiEnabled();
}
检查此操作所需的权限。我认为您应该添加以下权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

我找到了以下解决方案:

1)将首选wifi/APN(接入点名称)配置添加到电话设置中
2)启用Wifi/APN
3)将自动建立连接

Wifi配置非常简单,以下页面显示了如何进行配置:

APN配置很复杂。Android有一些隐藏的API,允许您访问/修改这些设置,您需要使用
Reflection
。这当然可能会与Android的未来版本发生冲突。下页说明如何访问/修改这些设置:


“如何启动internet连接?”,表示您想做什么?假设我想通过编程在专用网络上打开wifi连接。然后我想连接到服务器上传/下载数据…然后你必须监控是否启用wifi?如果没有,那么只需打开wifi连接对话框,它就会进入wifi设置。我不想要用户交互,它应该自己做所有事情。我不这么认为,没有用户交互,你就无法启用wifi。可能是出于安全原因。套接字可能是一种解决方案,但它们的级别相当低。如果OP尝试连接的服务器允许,我可能更容易设置一个;最好先理解它们,然后使用一个更高级别的类来封装套接字本身。此外,这些类是包装套接字以用于非常特定的协议中。因为我们不知道原始海报需要什么协议,我们不能告诉他使用基本插座以外的任何协议。但这并不能回答问题。首先,如何建立套接字将使用的internet连接?如果不创建套接字并将其连接到服务器或其他东西,那么建立internet连接是什么意思?手机可以通过多种方式连接到internet。它可以使用漫游、Wifi,可以通过电缆等连接到电脑。。我想控制这一切,这并不容易。并且此功能依赖于版本。例如,您可以在这里了解如何做到这一点:您应该知道,Wifi和数据连接通常不能同时启用。+1感谢您提供有用的答案。然而,这并不是我所需要的(见我的答案)