用过快牙的朋友应该知道它们在两天设备之间传输文件的时候使用的是wifi热点,然后另一台便连接这个热点再进行传输。快牙传输速度惊人应该跟它的这种机制有关系吧。不知道它的搜索机制是怎样的,但我想应该可以通过热点的名字来进行判断吧。下面我们就来探讨一下如何自动创建一个wifi热点吧大笑
专业领域包括成都网站建设、网站制作、成都做商城网站、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。创建wifi热点首先需要手机支持,建议开发的哥们整个好点的手机,我们公司那些个山寨设备,几近有一半是不支持热点的;其实创建热点很简单,先获取到wifi的服务,再配置热点名称、密码等等,然后再通过反射打开它就OK了。
下面我们看看创建热点的代码实现:
package com.tel.lajoin.wifi.hotspot; import java.lang.reflect.Method; import android.app.Activity; import android.content.Context; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.widget.Button; public class HotspotActivity extends Activity { private WifiManager wifiManager; private Button open; private boolean flag=false; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取wifi管理服务 wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); open=(Button)findViewById(R.id.open_hotspot); //通过按钮事件设置热点 open.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //如果是打开状态就关闭,如果是关闭就打开 flag=!flag; setWifiApEnabled(flag); } }); } // wifi热点开关 public boolean setWifiApEnabled(boolean enabled) { if (enabled) { // disable WiFi in any case //wifi和热点不能同时打开,所以打开热点的时候需要关闭wifi wifiManager.setWifiEnabled(false); } try { //热点的配置类 WifiConfiguration apConfig = new WifiConfiguration(); //配置热点的名称(可以在名字后面加点随机数什么的) apConfig.SSID = "YRCCONNECTION"; //配置热点的密码 apConfig.preSharedKey="12122112"; //通过反射调用设置热点 Method method = wifiManager.getClass().getMethod( "setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE); //返回热点打开状态 return (Boolean) method.invoke(wifiManager, apConfig, enabled); } catch (Exception e) { return false; } } }