[App] Bluetooth, app compilation summary

蓝牙四大必须任务:
	1.设置蓝牙
	2.查找局部区域内的配对设备,或可用设备
	3.连接设备
	4.再设备之间传输数据
	
蓝牙权限:
	BLUETOOTH,
	ACCESS_FINE_LOCATION		//android 9, API 28
	ACCESS_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<BluetoothDevice> 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 address
                Log.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 onCreate

    private 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 address
                Log.d("QYC", "qyc, deviceName == " + deviceName);
                Log.d("QYC", "qyc, deviceHardwareAddress == " + deviceHardwareAddress);
            }
        }
    };

Bluetooth pairing method:

             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

Pairing via reflection call:

             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

Bluetooth pairing method:

            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

Guess you like

Origin blog.csdn.net/John_chaos/article/details/109113298