[英]Ble Beacon Pairing is not working in Marshmallow
對於我的應用程序,我正在嘗試使用BluetoothGatt API以編程方式與Ble Beacon配對。我能夠與Ble Beacon配對至棒棒糖。但是我無法在棉花糖中配對(我的測試設備是oneplus 3)。
另外,我在清單文件中授予了ACCESS_COARSE_LOCATION,ACCESS_FINE_LOCATION
權限,並打開了GPS位置。
BluetoothGatt mGatt;
baBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
public void connectToDevice(String sMacId) {
BluetoothDevice device = baBluetoothAdapter.getRemoteDevice(sMacId);
if (mGatt == null) {
mGatt = device.connectGatt(this, false, gattCallback);
}
}
這是我的BluetoothGatt回調方法。調用discoverServices()之后,將直接轉到BluetoothProfile.STATE_DISCONNECTED情況。
private final BluetoothGattCallback gattCallback = new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
switch (newState) {
case BluetoothProfile.STATE_CONNECTED:
Log.e("gattCallback", "STATE_CONNECTED");
gatt.discoverServices();
break;
case BluetoothProfile.STATE_DISCONNECTED:
Log.e("gattCallback", "STATE_DISCONNECTED");
break;
default:
Log.e("gattCallback", "STATE_OTHER");
}
}
}
我也嘗試使用本機藍牙,但是顯示錯誤。我的信標配對密碼是123456.此密碼的作用不及棉花糖。請幫幫我! 請看這張圖片鏈接
如果有人仍在尋找解決方案,請在stackoverflow.com上查看此答案 ,在mDevice.connectGatt(mContext, false, mBluetoothGattCallback);
之后添加gatt.connect()
mDevice.connectGatt(mContext, false, mBluetoothGattCallback);
做到了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.