首先,现在手机越来越依赖WiFi而存活,因为无论是2G还是2G根本无法满足客户对于手机上网的追求,而wifi热点就成为了很对人的最爱,我写了个简单的代码实现了简单的在自己的笔记本上建立wifi热点的功能(win7系统方可)。
首先我们必须要有一个简单的界面,这自然不必多说,然后我们便要在电脑上启用并设定虚拟WiFi网卡,这其实是利用java调用命令提示符来实现的,也就是cmd。此命令有三个参数:
mode:是否启用虚拟WiFi网卡,改为disallow则为禁用,要是启用wifi热点我们就要设置为allow。
ssid:无线网名称。
key:无线网密码,需八个以上字符。
//定义一个设置wifi名字与密码的方法 public void setWiFi(){ try { Process child=Runtime.getRuntime().exec("netsh wlan set hostednetwork mode=allow ssid="+jtname.getText()+" key="+jtpass.getText()); writeId(jtname.getText(),jtpass.getText()); InputStream in=child.getInputStream(); int c=0; while(c!=-1) { c=in.read(); } in.close(); try { child.waitFor(); } catch (InterruptedException en) { en.printStackTrace(); } } catch (IOException ef) { ef.printStackTrace(); } }
通过该方法,我们还能设置wifi的名字和密码,起名字和密码是从界面上的文本框中获得的。
接着我们要将这wifi名字和密码存入文件中,以便在下次登录时等记住上回的wifi名字和密码,不用用户从新设置,当然入户也可以选择从新设置wifi名字和密码。
//定义一个将wifi名字和密码写入指定文件中保存起来 public void writeId(String str,String str2){ try { File file = new File("src/WiFi/name.txt");// 指定要写入的文件 if(!file.exists()){ try { file.createNewFile(); file.renameTo(new File("src/WiFi/name.txt")); } catch (IOException e1) { } bufferedWriter = new BufferedWriter(new FileWriter(file,true)); // 写入信息 bufferedWriter.write(str); bufferedWriter.newLine();// 表示换行 bufferedWriter.write(str2); bufferedWriter.newLine();// 表示换行 bufferedWriter.flush();// 清空缓冲区 }else{ file.delete(); file.createNewFile(); file.renameTo(new File("src/WiFi/name.txt")); bufferedWriter1 = new BufferedWriter(new FileWriter(file,true)); // 写入信息 bufferedWriter1.write(str); bufferedWriter1.newLine();// 表示换行 bufferedWriter1.write(str2); bufferedWriter1.newLine();// 表示换行 bufferedWriter1.flush();// 清空缓冲区 } } catch (Exception e) { } }
wifi名字和密码都设置完毕,但是要想该wifi能连接上网络,我们还需要打开“网络和共享心”——“更改适配器设置”,应该有多出的这一项“Microsoft Virtual WiFi Miniport Adapter”的无线连接2,如果没有,则把无线网卡驱动更新一下即可。无线网卡驱动在控制面板里的“设备管理器”中,你可以将该无线连接改个名字。
接下来我们还需将笔记本中的主要网络设置为共享,即选择你目前所连接的网络连接,然后右键,打开“属性”,选择“共享”,选中图中的第一项,然后选中你刚刚新建的那个无线连接的名字,然后点确定。
然后我们便要开始wifi热点了,开始的方法我们将其放在一个线程里,其原理也是利用java代码调用命令提示符。其代码如下:java代码调用命令提示符。其代码如下:
Thread start=(new Thread(){ public void run(){ try { Process child=Runtime.getRuntime().exec("netsh wlan start hostednetwork"); InputStream in=child.getInputStream(); int c=0; while(c!=-1) { c=in.read(); } in.close(); try { child.waitFor(); } catch (InterruptedException en) { en.printStackTrace(); } } catch (IOException ef) { ef.printStackTrace(); } } });
同样我们还需要定义个关闭wifi热点的方法,该方法也是要放在线程里的。
如此这般一个建立在笔记本上的wifi热点就算建立好了,此时你的手机应该能搜索到你的wifi了,如果连接上了之后还是不能上网,可能是承载你wifi的无线网卡被设置了局域网防护驱动程序,此时,你只消再次打开你的wifi无线网卡,点击右键选择属性,在“此连接使用下列项目”下面将局域网防护驱动程序前面的勾取消即可。
这样就万事大吉了,接下来我还想做一个手机能远程控制电脑自动关机的软件,很多同学总是喜欢开着wifi在床上玩手机,但是玩完手机之后却怎么也懒得下床去关电脑睡觉,所以我要实现该功能,如果做完了之后便做成exe格式的软件在同学中试一试效果。
虽然只是简单的小小程序,人性化却是我比较喜欢的,请多多指正,万望支持。
相关推荐
终端设备(如手机、笔记本电脑等)通过无线信号与AP建立连接,从而实现上网。 #### 二、WiFi模块的初始化与启动 **初始化过程**: 1. **ConnectivityService**的创建:在Android系统启动过程中,`SystemServer`会...
标题中的“笔记本启动承载网络以支持手机接入(java实现源代码)”指的是使用Java编程语言实现的一种技术,它允许笔记本电脑作为一个Wi-Fi热点,为其他设备(如手机)提供网络接入服务。这种技术通常被称为“承载...
这个列表是由你的设备(如手机、笔记本电脑)的无线网卡检测到的周围所有可用的WIFI热点。这些热点由其服务集标识符(SSID)来识别,SSID就像是无线网络的名称,用户可以通过它来识别不同的网络,例如家庭网络、咖啡...
的确,将笔记本或台式电脑变成无线热点的方法确实很多,但并不是每一种都适合你,你需要去甄别你的系统版本,需要去筛选你的电脑水平,在不断的实验中最终成功,可这时你可能已经没有心情去享受网络冲浪了。...
TsingWifi就是这样一款利用Java编程语言实现的实用工具,它允许用户在Windows 7操作系统上将笔记本电脑转变为Wi-Fi热点,为其他设备提供网络共享服务。 1. **Java编程语言的应用**: Java是一种跨平台、面向对象的...
卡纳达语词典Android应用程序 功能性: 搜索卡纳达语单词的含义 添加新词义 ... (打开手机中的热点,然后连接笔记本电脑中的wifi)。 打开命令提示符->输入ipconfig->按下Enter 在命令提示符下,在
它能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。 ##### 2.2 蓝牙设置中的常用Intent 在Android中,开发者可以通过发送特定的Intent来控制蓝牙设备的行为,例如开启或...
当其他设备(如手机、笔记本电脑或平板电脑)连接到这个热点时,它们可以通过该设备接入互联网。Wi-Fi热点的设置涉及到配置SSID(服务集标识符,即热点的名字)和密码,以及网络连接共享设置。 在Java中,开发Wi-Fi...
随着平板电脑和笔记本电脑的发展,x86 架构也逐渐被 Android 支持。 - **不再支持的架构**:随着时间的推移和技术的发展,一些架构可能因为市场占有率较低或技术过时而被 Android 官方逐步放弃支持,如 MIPS。 ### ...