【App】蓝牙Bluetooth,app的编写总结
蓝牙四大必须任务:1.设置蓝牙2.查找局部区域内的配对设备,或可用设备3.连接设备4.再设备之间传输数据蓝牙权限:BLUETOOTH,ACCESS_FINE_LOCATION //android 9, API 28ACCESS_COARSE_LOCATION // < android9借助远程设备的已知 MAC 地址,您可以随时向其发起连接,而无需执行发现操作
是先看了别人写的测试apk,蓝牙wifi测试这些,然后发现别人写的思路完全就是套路。哈哈。程序基本步骤就是google开发者这个网站上写的。https://developer.android.google.cn/guide/topics/connectivity/bluetooth然后自己也敲了一遍代码,然后提取一些记录一下。步骤:
/*********************************** 开启蓝牙的两种方式** *********************************/1.if (!mBluetoothAdapter.isEnabled()) {mBluetoothAdapter.enable();}2. Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
/*********************************** step 1, 开启蓝牙,获得适配器** *********************************/BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();if (bluetoothAdapter == null) {Log.d("QYC", "Device doesn't support Bluetooth");}if (!bluetoothAdapter.isEnabled()) {Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivity(enableBtIntent);}/*********************************** step2,检查已连接过的设备** *********************************/Set pairedDevices = bluetoothAdapter.getBondedDevices();if (pairedDevices.size() > 0) {// There are paired devices. Get the name and address of each paired device.for (BluetoothDevice device : pairedDevices) {String deviceName = device.getName();String deviceHardwareAddress = device.getAddress(); // MAC addressLog.d("QYC", "qyc1, deviceName == " + deviceName);Log.d("QYC", "qyc1, deviceHardwareAddress == " + deviceHardwareAddress);}}/*********************************** step3,注册广播接收者,发现新设备** *********************************/IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);registerReceiver(receiver, filter);if (bluetoothAdapter.isDiscovering()) {bluetoothAdapter.cancelDiscovery();}bluetoothAdapter.startDiscovery();}//end onCreateprivate final BroadcastReceiver receiver = new BroadcastReceiver() {public void onReceive(Context context, Intent intent) {String action = intent.getAction();Log.d("QYC", "qyc, action == " + action);if (BluetoothDevice.ACTION_FOUND.equals(action)) {// Discovery has found a device. Get the BluetoothDevice// object and its info from the Intent.BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);String deviceName = device.getName();String deviceHardwareAddress = device.getAddress(); // MAC addressLog.d("QYC", "qyc, deviceName == " + deviceName);Log.d("QYC", "qyc, deviceHardwareAddress == " + deviceHardwareAddress);}}};
蓝牙的配对方式:
https://blog.csdn.net/u010783226/article/details/103162894?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161605394816780265469869%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161605394816780265469869&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-103162894.pc_search_result_before_js&utm_term=%E8%93%9D%E7%89%99%E9%85%8D%E5%AF%B9
通过反射调用进行配对:
https://blog.csdn.net/u010783226/article/details/103162894?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161605394816780265469869%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161605394816780265469869&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-103162894.pc_search_result_before_js&utm_term=%E8%93%9D%E7%89%99%E9%85%8D%E5%AF%B9
蓝牙配对方式:
https://blog.csdn.net/u010783226/article/details/103162894?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161605394816780265469869%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161605394816780265469869&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-103162894.pc_search_result_before_js&utm_term=%E8%93%9D%E7%89%99%E9%85%8D%E5%AF%B9
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
