android蓝牙的使用
发布日期:2021-06-30 18:38:24 浏览次数:3 分类:技术文章

本文共 2469 字,大约阅读时间需要 8 分钟。

android蓝牙的使用
1、初始化蓝牙:	// 获取手机的蓝牙管理器	BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();	// 开启蓝牙(起到打开机器蓝牙的作用)	mBluetoothAdapter.enable();	2、对蓝牙进行监听(以下是代码动态注册广播接收者,使用对蓝牙状态的监听)	IntentFilter filter = new IntentFilter();	// 开始扫描的广播	filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);	// 扫描完成的广播	filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);	// 发现一个可用的设备的广播	filter.addAction(BluetoothDevice.ACTION_FOUND);	BluetoothReceiver mBluetoothReceiver = new BluetoothReceiver();// 这是广播接收者的子类	// 注册监听	registerReceiver(mBluetoothReceiver, filter);	3、对蓝牙的控制	// 扫描发现蓝牙设备	mBluetoothAdapter.startDiscovery();	// 停止蓝牙扫描	mBluetoothAdapter.cancelDiscovery();	4、销毁蓝牙监听:@Overrideprotected void onDestroy() {	unregisterReceiver(mBluetoothReceiver);	mBluetoothReceiver = null;	super.onDestroy();}收下是广播接收者接收到蓝牙广播后的具体操作:private class BluetoothReceiver extends BroadcastReceiver {	@Override	public void onReceive(Context context, Intent intent) {		String action = intent.getAction();		if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) {			Toast.makeText(context, "开始扫描蓝牙设备", 0).show();		} else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED				.equals(action)) {			Toast.makeText(context, "扫描蓝牙设备完成", 0).show();		} else if (BluetoothDevice.ACTION_FOUND.equals(action)) {			System.out.println("发现了蓝牙设备");			// 从intent中获取BluetoothDevice对象			final BluetoothDevice device = intent					.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);			System.out.println(device.getName() + "\n"					+ device.getAddress());			TextView tv = new TextView(context);			tv.setText(device.getName() + "--" + device.getAddress());			tv.setTextSize(25);			tv.setTag(device);			tv.setOnClickListener(new OnClickListener() {				@Override				public void onClick(View v) {					// 连接蓝牙设备					try {						mSocket = device.createRfcommSocketToServiceRecord(UUID								.fromString("00001101-0000-1000-8000-00805f9b34fb"));						// 连接指令						mSocket.connect();// 注意这条加上代码,否则蓝牙无法建立连接												mOs = mSocket.getOutputStream();						try {							System.out.println("发送指令完毕");							mOs.write(0xA1);// 帧头							mOs.write(0xFD);// 帧头							mOs.write(0x01);// 端口							mOs.write(0x00);// 状态							mOs.write(0xDF);// 帧尾							mOs.flush();							System.out.println("发送指令完毕");						} catch (IOException e) {							e.printStackTrace();						}											} catch (IOException e) {						e.printStackTrace();					}				}			});			ll_container.addView(tv);// 这里一般是把textView用listView显示出来		}	}}

转载地址:https://linqiarui.blog.csdn.net/article/details/50764623 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ActionBar的使用
下一篇:DrawerLayout的使用

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月22日 22时53分57秒