當前位置: 首頁>>代碼示例>>Java>>正文


Java BluetoothGatt.readDescriptor方法代碼示例

本文整理匯總了Java中android.bluetooth.BluetoothGatt.readDescriptor方法的典型用法代碼示例。如果您正苦於以下問題:Java BluetoothGatt.readDescriptor方法的具體用法?Java BluetoothGatt.readDescriptor怎麽用?Java BluetoothGatt.readDescriptor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.bluetooth.BluetoothGatt的用法示例。


在下文中一共展示了BluetoothGatt.readDescriptor方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: isServiceChangedCCCDEnabled

import android.bluetooth.BluetoothGatt; //導入方法依賴的package包/類
/**
 * Reads the value of the Service Changed Client Characteristic Configuration descriptor (CCCD).
 *
 * @param gatt           the GATT device
 * @param characteristic the Service Changed characteristic
 * @return <code>true</code> if Service Changed CCCD is enabled ans set to INDICATE
 * @throws DeviceDisconnectedException
 * @throws DfuException
 * @throws UploadAbortedException
 */
private boolean isServiceChangedCCCDEnabled(final BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic) throws DeviceDisconnectedException, DfuException, UploadAbortedException {
    if (mConnectionState != STATE_CONNECTED_AND_READY)
        throw new DeviceDisconnectedException("Unable to read Service Changed CCCD", mConnectionState);
    // If the Service Changed characteristic or the CCCD is not available we return false.
    if (characteristic == null)
        return false;

    final BluetoothGattDescriptor descriptor = characteristic.getDescriptor(CLIENT_CHARACTERISTIC_CONFIG);
    if (descriptor == null)
        return false;

    mRequestCompleted = false;
    mError = 0;

    logi("Reading Service Changed CCCD value...");
    sendLogBroadcast(LOG_LEVEL_VERBOSE, "Reading Service Changed CCCD value...");

    gatt.readDescriptor(descriptor);

    // We have to wait until device receives a response or an error occur
    try {
        synchronized (mLock) {
            while ((!mRequestCompleted && mConnectionState == STATE_CONNECTED_AND_READY && mError == 0 && !mAborted) || mPaused)
                mLock.wait();
        }
    } catch (final InterruptedException e) {
        loge("Sleeping interrupted", e);
    }

    if (mAborted)
        throw new UploadAbortedException();

    if (mError != 0)
        throw new DfuException("Unable to read Service Changed CCCD", mError);

    if (mConnectionState != STATE_CONNECTED_AND_READY)
        throw new DeviceDisconnectedException("Unable to read Service Changed CCCD", mConnectionState);

    return mServiceChangedIndicationsEnabled;
}
 
開發者ID:Samsung,項目名稱:microbit,代碼行數:51,代碼來源:DfuBaseService.java


注:本文中的android.bluetooth.BluetoothGatt.readDescriptor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。