一. 修改本机蓝牙设备的可见性

二. 扫描周围可用的蓝牙设备
Eg:
一.  清单文件AdroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>                                                                                        

二. 布局文件: main.xml:
<?xml version="1.0" encoding="utf-8"?>    

三. MainActivity:
import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.bluetooth.BluetoothDevice;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button discoverButton = null;private Button scanButton = null;private BluetoothAdapter adapter = null;private BluetoothReceiver bluetoothReceiver = null;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                adapter = BluetoothAdapter.getDefaultAdapter();                discoverButton = (Button)findViewById(R.id.discoverButton);        scanButton = (Button)findViewById(R.id.scanButton);        //修改蓝牙设备的可见性        discoverButton.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View view) {Intent discoverIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);//设置蓝牙可见性,500表示可见时间(单位:秒),当值大于300时默认为300discoverIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,500);startActivity(discoverIntent);}        });                scanButton.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {//开始扫描周围蓝牙设备,该方法是异步调用并以广播的机制返回,所以需要创建一个BroadcastReceiver来获取信息adapter.startDiscovery();}        });                //设定广播接收的filter        IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND);        //创建蓝牙广播信息的receiver        bluetoothReceiver = new BluetoothReceiver ();        //注册广播接收器        registerReceiver(bluetoothReceiver,intentFilter);            }        private class BluetoothReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {//获得扫描到的远程蓝牙设备BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);System.out.println(device.getAddress());}        }}

转自:
http://blog.csdn.net/t12x3456/article/details/7865690

更多相关文章

  1. Android(安卓)Resource 怎样加载资源文件(3)
  2. android ui 适配(tv)
  3. wifi 架构
  4. Android自动化测试解决方案
  5. Android(安卓)8 wifi 扫描时间间隔
  6. RK3288 android7.1.2 android studio 用户空间通过spi ioctl读取
  7. Ubuntu 10.04不能连接到HTC G1设备
  8. Android蓝牙开发,报BluetoothAdapter﹕ Can't create handler insid
  9. Android获取定位权限,获取设备所在的经纬度

随机推荐

  1. 【转】禁止android横屏和竖屏的切换
  2. 在Android中加入GOOGLE统计系统
  3. Android(安卓)1.0将不支持开发蓝牙和Gtal
  4. [Android]实现静默安装APK的两种方法
  5. android studio与VS2019的安卓开发共存问
  6. android的PowerManager和PowerManager.Wa
  7. Android(安卓)Permission check的一点认
  8. 转:[Android]实现静默安装APK的两种方法
  9. [安卓基础] 003.建立你的第一个App
  10. 【30篇突击 android】源码统计 十八