BLE的UUID是不是固定的?

请问,不同的硬件BLE设备,它们的Service和Characteristic的UUID是不是都是一样的?
最近写app做练习,在连接BLE模块时,可以正常收发信息,但是连接了另一个BLE设备时,会短暂连接后马上崩溃。下面是AS的报错,

 E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.administrator.mi_home, PID: 5569
                  java.lang.RuntimeException: Error receiving broadcast Intent { act=com.example.bluetooth.le.ACTION_GATT_SERVICES_DISCOVERED flg=0x10 } in com.example.administrator.mi_home.DeviceFragment.OneDeviceFragment$1@c064ebc
                      at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1228)
                      at android.os.Handler.handleCallback(Handler.java:761)
                      at android.os.Handler.dispatchMessage(Handler.java:98)
                      at android.os.Looper.loop(Looper.java:156)
                      at android.app.ActivityThread.main(ActivityThread.java:6523)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
                   Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.UUID android.bluetooth.BluetoothGattCharacteristic.getUuid()' on a null object reference
                      at android.bluetooth.BluetoothGatt.setCharacteristicNotification(BluetoothGatt.java:1104)
                      at com.example.administrator.mi_home.Service.BleService.setCharacteristicNotification(BleService.java:175)
                      at com.example.administrator.mi_home.DeviceFragment.OneDeviceFragment$1.onReceive(OneDeviceFragment.java:141)
                      at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1218)
                      at android.os.Handler.handleCallback(Handler.java:761) 
                      at android.os.Handler.dispatchMessage(Handler.java:98) 
                      at android.os.Looper.loop(Looper.java:156) 
                      at android.app.ActivityThread.main(ActivityThread.java:6523) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) 

提示有个空指针异常,

  mBluetoothGatt.setCharacteristicNotification(characteristic, enabled); // 关键代码

https://blog.csdn.net/u011342466/article/details/52529394

是固定的 是固定的 是固定的
不知道为什么我不能回复。。。。
每个蓝牙uuid 不一样 但是自身的uuid 是固定的 ,如果连接不成功 大部分是 uuid的锅