Java Android蓝牙连接问题
我使用过一款与谷歌BLE不兼容的设备,而是使用三星BLE SDK进行连接。我尝试过使用Google SDK,它可以成功连接,但在连接后立即与状态19断开连接,其中没有关于此状态的文档Java Android蓝牙连接问题,java,android,bluetooth,wear-os,Java,Android,Bluetooth,Wear Os,我使用过一款与谷歌BLE不兼容的设备,而是使用三星BLE SDK进行连接。我尝试过使用Google SDK,它可以成功连接,但在连接后立即与状态19断开连接,其中没有关于此状态的文档 03-02 00:07:55.572 1181-1181/alex.jstylemod I/art﹕ Late-enabling -Xcheck:jni 03-02 00:07:55.861 1181-1181/alex.jstylemod D/BluetoothAdapter﹕ startLeScan
03-02 00:07:55.572 1181-1181/alex.jstylemod I/art﹕ Late-enabling -Xcheck:jni
03-02 00:07:55.861 1181-1181/alex.jstylemod D/BluetoothAdapter﹕ startLeScan(): null
03-02 00:07:55.931 1181-1201/alex.jstylemod D/BluetoothLeScanner﹕ onClientRegistered() - status=0 clientIf=5
03-02 00:07:55.949 1181-1208/alex.jstylemod D/OpenGLRenderer﹕ Render dirty regions requested: true
03-02 00:07:55.965 1181-1181/alex.jstylemod D/Atlas﹕ Validating map...
03-02 00:07:55.985 1181-1208/alex.jstylemod I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.04.04.02.162.107_msm8226_LA.BF.1.1__release_AU ()
OpenGL ES Shader Compiler Version: E031.25.01.03
Build Date: 10/28/14 Tue
Local Branch:
Remote Branch: quic/l_LNX.LA.3.6
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.04.04.02.162.107 + cb93e16 + f50fe49 + d7c18e6 + 5b9a565 + 0f3a25d + 607156e + 75511aa + e4d16c0 + 686f3eb + 211a271 + dd281ee + NOTHING
03-02 00:07:55.988 1181-1208/alex.jstylemod I/OpenGLRenderer﹕ Initialized EGL, version 1.4
03-02 00:07:56.010 1181-1208/alex.jstylemod D/OpenGLRenderer﹕ Enabling debug mode 0
03-02 00:07:57.769 1181-1201/alex.jstylemod D/BluetoothLeScanner﹕ onScanResult() - ScanResult{mDevice=B4:99:4C:67:72:70, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000fff0-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=0, mDeviceName=JStyle 677270], mRssi=-80, mTimestampNanos=128983439815617}
03-02 00:08:05.868 1181-1181/alex.jstylemod D/BluetoothAdapter﹕ stopLeScan()
03-02 00:08:27.348 1181-1181/alex.jstylemod D/BluetoothAdapter﹕ stopLeScan()
03-02 00:08:27.354 1181-1181/alex.jstylemod D/BluetoothAdapter﹕ scan not started yet
03-02 00:08:27.357 1181-1181/alex.jstylemod D/BluetoothGatt﹕ connect() - device: B4:99:4C:67:72:70, auto: false
03-02 00:08:27.357 1181-1181/alex.jstylemod D/BluetoothGatt﹕ registerApp()
03-02 00:08:27.357 1181-1181/alex.jstylemod D/BluetoothGatt﹕ registerApp() - UUID=76c2195c-0afe-4660-8164-f5f81f6fdc0a
03-02 00:08:27.366 1181-1201/alex.jstylemod D/BluetoothGatt﹕ onClientRegistered() - status=0 clientIf=5
03-02 00:08:27.379 1181-1181/alex.jstylemod D/BLEService﹕ Trying to create connection with autoconnect enabled
03-02 00:08:28.038 1181-1202/alex.jstylemod D/BluetoothGatt﹕ onClientConnectionState() - status=0 clientIf=5 device=B4:99:4C:67:72:70
03-02 00:08:28.046 1181-1202/alex.jstylemod I/BLEService﹕ Connected to GATT server
03-02 00:08:28.769 1181-1201/alex.jstylemod D/BluetoothGatt﹕ onClientConnectionState() - status=19 clientIf=5 device=B4:99:4C:67:72:70
03-02 00:08:28.769 1181-1201/alex.jstylemod I/BLEService﹕ Disconnected from GATT Server
你能解释一下吗?我知道我是Android开发的新手
谢谢你这也发生在我身上。你找到解决办法了吗?谢谢试着换另一部电话。显然,这发生在棒棒糖5.0.0的早期版本中,它破坏了大部分蓝牙兼容性。我在moto g上试过这个,在切换到Sony Z3和更新的SDK后,它现在可以工作了。我不知道棒棒糖的早期版本会有什么突破。我用的是Nexus6和棉花糖,用的是三星S6和5.1。我也尝试过5.0.2版的Moto E第二代。这是大多数支持安卓广告的手机。6.1版也有同样的问题,有人发现了吗?你找到19号状态了吗?我到处都找不到
03-06 16:05:39.981 2965-2965/alex.jstylemod I/art﹕ Late-enabling -Xcheck:jni
03-06 16:05:40.010 2965-2975/alex.jstylemod I/art﹕ Ignoring second debugger -- accepting and dropping
03-06 16:05:40.021 2965-2975/alex.jstylemod I/art﹕ Debugger is no longer active
03-06 16:05:40.175 2965-2965/alex.jstylemod D/BluetoothAdapter﹕ startLeScan(): null
03-06 16:05:40.239 2965-2982/alex.jstylemod D/BluetoothLeScanner﹕ onClientRegistered() - status=0 clientIf=5
03-06 16:05:40.287 2965-2988/alex.jstylemod D/OpenGLRenderer﹕ Render dirty regions requested: true
03-06 16:05:40.301 2965-2965/alex.jstylemod D/Atlas﹕ Validating map...
03-06 16:05:40.353 2965-2988/alex.jstylemod I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.04.04.02.162.107_msm8226_LA.BF.1.1__release_AU ()
OpenGL ES Shader Compiler Version: E031.25.01.03
Build Date: 10/28/14 Tue
Local Branch:
Remote Branch: quic/l_LNX.LA.3.6
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.04.04.02.162.107 + cb93e16 + f50fe49 + d7c18e6 + 5b9a565 + 0f3a25d + 607156e + 75511aa + e4d16c0 + 686f3eb + 211a271 + dd281ee + NOTHING
03-06 16:05:40.359 2965-2988/alex.jstylemod I/OpenGLRenderer﹕ Initialized EGL, version 1.4
03-06 16:05:40.409 2965-2988/alex.jstylemod D/OpenGLRenderer﹕ Enabling debug mode 0
03-06 16:05:41.210 2965-2982/alex.jstylemod D/BluetoothLeScanner﹕ onScanResult() - ScanResult{mDevice=B4:99:4C:67:72:70, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000fff0-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=0, mDeviceName=JStyle 677270], mRssi=-82, mTimestampNanos=532107906138682}
03-06 16:05:43.502 2965-2965/alex.jstylemod D/BluetoothAdapter﹕ startLeScan(): null
03-06 16:05:43.503 2965-2965/alex.jstylemod E/BluetoothAdapter﹕ LE Scan has already started
03-06 16:05:50.182 2965-2965/alex.jstylemod D/BluetoothAdapter﹕ stopLeScan()
03-06 16:05:53.506 2965-2965/alex.jstylemod D/BluetoothAdapter﹕ stopLeScan()
03-06 16:05:53.512 2965-2965/alex.jstylemod D/BluetoothAdapter﹕ scan not started yet
03-06 16:06:15.795 4053-4053/alex.jstylemod D/BluetoothAdapter﹕ startLeScan(): null
03-06 16:06:15.843 4053-4071/alex.jstylemod D/BluetoothLeScanner﹕ onClientRegistered() - status=0 clientIf=5
03-06 16:06:16.022 4053-4074/alex.jstylemod D/OpenGLRenderer﹕ Render dirty regions requested: true
03-06 16:06:16.038 4053-4053/alex.jstylemod D/Atlas﹕ Validating map...
03-06 16:06:16.065 4053-4074/alex.jstylemod I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.04.04.02.162.107_msm8226_LA.BF.1.1__release_AU ()
OpenGL ES Shader Compiler Version: E031.25.01.03
Build Date: 10/28/14 Tue
Local Branch:
Remote Branch: quic/l_LNX.LA.3.6
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.04.04.02.162.107 + cb93e16 + f50fe49 + d7c18e6 + 5b9a565 + 0f3a25d + 607156e + 75511aa + e4d16c0 + 686f3eb + 211a271 + dd281ee + NOTHING
03-06 16:06:16.067 4053-4074/alex.jstylemod I/OpenGLRenderer﹕ Initialized EGL, version 1.4
03-06 16:06:16.093 4053-4074/alex.jstylemod D/OpenGLRenderer﹕ Enabling debug mode 0
03-06 16:06:17.320 4053-4072/alex.jstylemod D/BluetoothLeScanner﹕ onScanResult() - ScanResult{mDevice=B4:99:4C:67:72:70, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000fff0-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=0, mDeviceName=JStyle 677270], mRssi=-80, mTimestampNanos=532144013210126}
03-06 16:06:25.797 4053-4053/alex.jstylemod D/BluetoothAdapter﹕ stopLeScan()
03-06 16:08:44.455 4053-4065/alex.jstylemod I/art﹕ Debugger is active
03-06 16:08:55.660 4053-4053/alex.jstylemod I/Choreographer﹕ Skipped 264 frames! The application may be doing too much work on its main thread.
03-06 16:08:57.227 4053-4053/alex.jstylemod D/SamsungBLEService﹕ Calling Samsung BLE Service
03-06 16:08:57.488 4053-4053/alex.jstylemod W/ContextImpl﹕ Implicit intents with startService are not safe: Intent { act=com.samsung.android.sdk.bt.gatt.IBluetoothGatt } android.content.ContextWrapper.bindService:538 com.samsung.android.sdk.bt.gatt.BluetoothGatt.<init>:-1 com.samsung.android.sdk.bt.gatt.BluetoothGattAdapter.getProfileProxy:-1
03-06 16:08:57.498 4053-4053/alex.jstylemod E/BtGatt.BluetoothGatt﹕ Could not bind to Bluetooth Gatt Service
03-06 16:09:00.252 4053-4053/alex.jstylemod D/BluetoothAdapter﹕ stopLeScan()
03-06 16:09:00.259 4053-4053/alex.jstylemod D/BluetoothAdapter﹕ scan not started yet
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
handler = new Handler();
BluetoothSetting.checkBluetoothSetting(this);
bluetoothAdapter = BluetoothSetting.getBluetoothAdapter(this,null);
Intent gattServiceIntent = new Intent(this, SamsungBLEService.class);
Set<BluetoothDevice> deviceSet = bluetoothAdapter.getBondedDevices();
//Intent gattServiceIntent = new Intent(this, BLEService.class);
startService(gattServiceIntent);
boolean bindResult = bindService(gattServiceIntent, serviceConnection,BIND_AUTO_CREATE);
//setContentView(R.layout.activity_device_list);
}
@Override
public void onCreate() {
Log.d(TAG, "Calling Samsung BLE Service");
bluetoothAdapter = BluetoothSetting.getBluetoothAdapter(null,this);
if(bluetoothGatt == null)
BluetoothGattAdapter.getProfileProxy(this, serviceListener, BluetoothGattAdapter.GATT);
}