7
回答
Android Wifi热点
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

请教一个问题:

android开机默认启动wifi热点?

举报
lancy_android
发帖于5年前 7回/2K+阅
共有7个答案 最后回答: 4年前
需求是这样的,客户不使用wifi(用有线),现在希望每次开机之后自动打开wifi 热点。自动启动wifi默认就是这样的。
个人理解开启wifi热点是自己提供wifi,别人可以连接,开启wifi,指的是,自己可以连别人提供的wifi热点了。感觉你的意思不是wifi热点吧
--- 共有 1 条评论 ---
lancy_androidwifi热点是把你的设备当做路由器用,wifi热点和wifi同一时刻只能有一个在工作,我的需求是客户用有线网络,然后使用wifi热点可以共享网络,问题解决了,我的主要问题是开机默认启动,不是怎么打开的问题。 5年前 回复
package com.example.testwifisaop;


import java.lang.reflect.Method;


import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity implements OnClickListener {


private WifiManager wifiManager;
private boolean flag = false;
Button btn = null;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);


btn = (Button) findViewById(R.id.open);
btn.setOnClickListener(this);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v == btn) {
// 如果是打开状态就关闭,如果是关闭就打开
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 = "OCOCCI_WIFI";
//WifiConfiguration.KeyMgmt.NONE open
apConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
// 配置热点的密码
apConfig.preSharedKey = "88888888";
// 通过反射调用设置热点
Method method = wifiManager.getClass().getMethod(
"setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
// 返回热点打开状态
return (Boolean) method.invoke(wifiManager, apConfig, enabled);
} catch (Exception e) {
return false;
}
}
}

顶部