android adhoc,如何将android wifi连接到adhoc wifi?

我确实注意到了一些有趣的事情:在我的2.3.4手机中,我无法在设置>无线和网络菜单中看到AP / AdHoc SSID . 在运行4.0.3的Acer A500上我看到它们,前缀为(*)

然而,在我改编的以下代码中(不记得来源,抱歉!)我确实看到我的2.3.4手机上的Wifi Scan中显示了Ad Hoc . 我仍然希望实际连接并创建一个socket输入/ outputStream . 但是,在这里你去:

public class MainActivity extends Activity {

private static final String CHIPKIT_BSSID = "E2:14:9F:18:40:1C";

private static final int CHIPKIT_WIFI_PRIORITY = 1;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final Button btnDoSomething = (Button) findViewById(R.id.btnDoSomething);

final Button btnNewScan = (Button) findViewById(R.id.btnNewScan);

final TextView textWifiManager = (TextView) findViewById(R.id.WifiManager);

final TextView textWifiInfo = (TextView) findViewById(R.id.WifiInfo);

final TextView textIp = (TextView) findViewById(R.id.Ip);

final WifiManager myWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

final WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();

WifiConfiguration wifiConfiguration = new WifiConfiguration();

wifiConfiguration.BSSID = CHIPKIT_BSSID;

wifiConfiguration.priority = CHIPKIT_WIFI_PRIORITY;

wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);

wifiConfiguration.allowedKeyManagement.set(KeyMgmt.NONE);

wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);

wifiConfiguration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);

wifiConfiguration.status = WifiConfiguration.Status.ENABLED;

myWifiManager.setWifiEnabled(true);

int netID = myWifiManager.addNetwork(wifiConfiguration);

myWifiManager.enableNetwork(netID, true);

textWifiInfo.setText("SSID: " + myWifiInfo.getSSID() + '\n'

+ myWifiManager.getWifiState() + "\n\n");

btnDoSomething.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

clearTextViews(textWifiManager, textIp);

}

});

btnNewScan.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

getNewScan(myWifiManager, textWifiManager, textIp);

}

});

}

private void clearTextViews(TextView...tv) {

for(int i = 0; i

tv[i].setText("");

}

}

public void getNewScan(WifiManager wm, TextView...textViews) {

wm.startScan();

List scanResult = wm.getScanResults();

String scan = "";

for (int i = 0; i < scanResult.size(); i++) {

scan += (scanResult.get(i).toString() + "\n\n");

}

textViews[0].setText(scan);

textViews[1].setText(wm.toString());

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

不要忘记在Eclipse中你可以使用Ctrl Shift [letter O]来填充缺少的导入......

和我的清单:

package="com.digilent.simpleclient"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="8"

android:targetSdkVersion="15" />

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".MainActivity"

android:label="@string/title_activity_main" >

希望有所帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值