Android Wi-Fi Android WebView Android小部件 Android允许应用程序访问以非常低的级别查看无线连接状态的访问。应用程序几乎可以访问wifi连接的所有信息。 应用程序可以访问的信息包括连接网络的链接速度,IP地址,协商状态,其他网络信息。应用程序还可以扫描,添加,保存,终止和启动Wi-Fi连接。 Android提供 WifiManager API来管理WIFI连接的所有方面。 我们可以通过调用 getSystemService 方法来实例化这个类。其语法如下 WifiManager mainWifiObj; mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE); 要扫描无线网络列表,您还需要注册BroadcastReceiver。它可以使用 registerReceiver 方法和接收器类对象的参数进行 注册 。其语法如下 class WifiScanReceiver extends BroadcastReceiver { public void onReceive(Context c, Intent intent) { } } WifiScanReceiver wifiReciever = new WifiScanReceiver(); registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 可以通过调用WifiManager类的 startScan 方法来启动wifi扫描。此方法返回ScanResult对象的列表。您可以通过调用list 的 get 方法来访问任何对象。其语法如下 - List<ScanResult> wifiScanList = mainWifiObj.getScanResults(); String data = wifiScanList.get(0).toString(); 除了扫描之外,您还可以使用WifiManager类中定义的方法更好地控制WIFI。它们列出如下 - 序号 方法和描述 1 addNetwork(WifiConfiguration config) 此方法将新网络描述添加到已配置网络集。 2 createWifiLock(String tag) 此方法创建一个新的WifiLock。 3 disconnect() 此方法与当前活动的访问点取消关联。 4 enableNetwork(int netId,boolean disableOthers) 此方法允许先前配置的网络与之关联。 5 getWifiState() 此方法获得Wi-Fi启用状态 6 isWifiEnabled() 此方法返回是启用还是禁用Wi-Fi。 7 setWifiEnabled(已启用布尔值) 此方法启用或禁用Wi-Fi。 8 updateNetwork(WifiConfiguration config) 此方法更新现有已配置网络的网络描述。 例 以下是演示WIFI使用的示例。它创建了一个基本的应用程序,打开你的wifi并关闭你的WiFi 要试验此示例,您需要在打开wifi的实际设备上运行此操作。 序号 描述 1 您将使用Android studio在com.example.sairamkrishna.myapplication包下创建Android应用程序。 2 修改src / MainActivity.java文件以添加WebView代码。 3 修改res / layout / activity_main以添加相应的XML组件 4 修改AndroidManifest.xml以添加必要的权限 5 运行应用程序并选择正在运行的Android设备并在其上安装应用程序并验证结果。 以下是修改后的主活动文件 src / MainActivity.java 的内容 。 package com.example.sairamkrishna.myapplication; import android.net.wifi.WifiManager; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { Button enableButton,disableButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); enableButton=(Button)findViewById(R.id.button1); disableButton=(Button)findViewById(R.id.button2); enableButton.setOnClickListener(new OnClickListener(){ public void onClick(View v){ WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(true); } }); disableButton.setOnClickListener(new OnClickListener(){ public void onClick(View v){ WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(false); } }); } } 以下是xml res / layout / activity_main.xml 的修改内容。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="76dp" android:text="Enable Wifi" android:layout_centerVertical="true" android:layout_alignEnd="@+id/imageView" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Disable Wifi" android:layout_marginBottom="93dp" android:layout_alignParentBottom="true" android:layout_alignStart="@+id/imageView" /> </RelativeLayout> 以下是 AndroidManifest.xml 文件的内容。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 让我们尝试运行您的应用程序。我假设您已将实际的Android移动设备与计算机相关联。要从Android工作室运行应用程序,请打开项目的某个活动文件,然后单击工具栏中的“运行” 图标。在开始申请之前,Android studio将显示以下窗口,以选择您要运行Android应用程序的选项。 选择您的移动设备作为选项,它将显示以下图像 现在点击禁用wifi按钮。然后示例输出应该是这样的 Android WebView Android小部件