Android Bluetoothgatt - Статус 133 - Зарегистрируйте обратный вызовAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android Bluetoothgatt - Статус 133 - Зарегистрируйте обратный вызов

Сообщение Anonymous »

Во -первых, я прочитал решен: Gatt Callback не зарегистрирует и предпринял шаги, предложенные в этом посте, чтобы решить эту проблему без успеха. Рекомендуемое исправление там, если вы не читали, состоит в том, чтобы сделать все вызовы из основного потока непосредственно или с помощью обработчика.1)Gets list of our products available to connect to (done, works)

2)For each available device:

2a)connect to device
2b)discover services
2c)read 5 characteristics in this fashion:
2c1)read characteristic
2c2)onCharacteristicRead parse data
2c3)when finished with data read next characteristic
2c4)repeat until all are read (this is done using a state var and switch statement)
2d)disconnect from device
2e)connect to next device
2f)repeat until all devices are read from
2g)stopSelf()
< /code>

Итак, проблема ... все отлично работает для немного. Я могу выполнить весь сервис Start {Startservice (...); в MainActivity} , чтобы закончить {stopelf (); в обслуживании} < /strong> 6 раз. < /p>

В 7 -й раз я получу Bluetoothgatt, не удалось зарегистрировать обратный вызов. Я не уверен, почему я могу успешно запустить его в 6 раз, а затем потерпеть неудачу в 7 -й раз. />
private Handler handler = new Handler();
private BluetoothGatt cGatt = null;
private int unitIndex = 0; // keep track of currently connected unit
private int state = 0; //used to keep track of which characteristic to read next

public int onStartCommand(Intent intent, int flags, int startId)
{
Log.i(TAG, "Service Started...");
//get ArrayList of units

if(units.size > 0)
handler.post(connectNextRunnable); //calls connectNextDevice()
else
stopSelf();
}

private Runnable discoverServices = new Runnable()
{
public void run()
{
cGatt.discoverServices();
}
}

private Runnable readNextValue = new Runnable()
{
public void run()
{
BluetoothGattCharacteristic c = null;
switch(state)
{
//set c to appropriate characteristic
default: // all characteristics read
unitIndex++;
handler.post(connectNextRunnable)
return
}

cGatt.readCharacteristic(c);
}
}

private void connectNextDevice()
{
if(unitIndex == 0)
store System.nanoTime in variable

if(unitIndex >= units.size) //finished will all units
stopSelf();

if(unitIndex < units.size)
cGatt.disconnect //if null
cGatt.connectGatt(this, false, gattCallback)
}

private BluetoothGattCallback gattCallback = new BluetoothGattCallback()
{
public void onConnectionStateChange()
{
handler.post(discoverServices);
}

public void onServicesDeiscovered()
{
handler.post(readNextValue);
}

public void onCharacteristicRead()
{
ParseData();
}

private void ParseData()
{
//do stuff with data
handler.post(readNextValue);
}
}
< /code>

Итак, как я уже сказал, все блевые вещи вызываются из основного потока через обработчик. Сервис успешно работает 6 раз от начала до конца. В 7 -й раз я получаю этот тупой, не удалось зарегистрировать обратный вызов. Я не делал в исходном сообщении, потому что я выключаю много информации, чтобы проверить полученные данные и т. Д.08-15 12:00:10.746: I/PMIQ BTS(32027): Service Started...
08-15 12:00:10.746: I/PMIQ BTS(32027): Units: 1
08-15 12:00:10.746: D/AbsListView(32027): unregisterIRListener() is called
08-15 12:00:10.766: I/PMIQ BTS(32027): Connecting to next device...
08-15 12:00:10.766: I/PMIQ BTS(32027): Unit index = 0
08-15 12:00:10.766: I/PMIQ BTS(32027): Connecting to pmIQ-IQ130_D93A
08-15 12:00:10.766: I/System.out(32027): main
08-15 12:00:10.766: D/BluetoothGatt(32027): connect() - device: 00:1E:C0:19:D9:3A, auto: false
08-15 12:00:10.766: D/BluetoothGatt(32027): registerApp()
08-15 12:00:10.766: D/BluetoothGatt(32027): registerApp() - UUID=e9d10870-4b09-451c-a9fa-c6b5f3594a77
08-15 12:00:10.766: I/BluetoothGatt(32027): Client registered, waiting for callback
08-15 12:00:10.766: D/BluetoothGatt(32027): onClientRegistered() - status=133 clientIf=0
08-15 12:00:10.766: I/PMIQ BTS(32027): CONECTION STATE CHANGED...Binder_2
**08-15 12:00:10.766: E/BluetoothGatt(32027): Failed to register callback**
08-15 12:00:10.766: I/PMIQ BTS(32027): Could not connect to null ... 257
08-15 12:00:10.766: I/PMIQ BTS(32027): Connecting to next device...
08-15 12:00:10.766: I/PMIQ BTS(32027): Unit index = 1
08-15 12:00:10.766: I/PMIQ BTS(32027): ******************************
08-15 12:00:10.766: I/PMIQ BTS(32027): Start Time: 4360642409647
08-15 12:00:10.766: I/PMIQ BTS(32027): End Time: 4360648970925
08-15 12:00:10.766: I/PMIQ BTS(32027): Difference: 6561278
08-15 12:00:10.766: I/PMIQ BTS(32027): Time to complete: 6
08-15 12:00:10.766: I/PMIQ BTS(32027): ******************************
08-15 12:00:10.876: I/PMIQ BTS(32027): ...Service Destroyed
< /code>

Если вы сделали это здесь, спасибо! Я не смог найти никакой информации о том, что означает статус = 133?! Это происходит только тогда, когда обратный вызов терпит неудачу. Каждый раз, это статус = 0. < /P>

08-15 12:00:10.766: D/BluetoothGatt(32027): onClientRegistered() - status=133 clientIf=0
< /code>

Если кто -то может даже ответить на это .. это может мне очень помочь. Или, если кто -то может сказать мне, почему он работает только 6 раз. Любое понимание или догадки могут быть полезными! < /p>

Спасибо всем! < /p>

Подробнее здесь: https://stackoverflow.com/questions/253 ... r-callback
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обнаружение службы BLE в Android (BluetoothGatt#discoverServices()) и низкое энергопотребление по сравнению с BR/EDR
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Ble Gatt OnconnectionStateChange не удалось, статус 133 и 257
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Проблема с ответом на обратный вызов CoinPayments api ipn - статус не обновляет запись базы данных
    Anonymous » » в форуме Php
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Проблема с ответом на обратный вызов CoinPayments api ipn - статус не обновляет запись базы данных
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Что такое код ошибки 133 в Android Bluetooth (BLE)?
    Гость » » в форуме Android
    0 Ответы
    30 Просмотры
    Последнее сообщение Гость

Вернуться в «Android»