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


Java BluetoothGattCharacteristic.PROPERTY_INDICATE屬性代碼示例

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


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

示例1: enableIndications

@Override
public final boolean enableIndications(final BluetoothGattCharacteristic characteristic) {
	final BluetoothGatt gatt = mBluetoothGatt;
	if (gatt == null || characteristic == null)
		return false;

	// Check characteristic property
	final int properties = characteristic.getProperties();
	if ((properties & BluetoothGattCharacteristic.PROPERTY_INDICATE) == 0)
		return false;

	gatt.setCharacteristicNotification(characteristic, true);
	final BluetoothGattDescriptor descriptor = characteristic.getDescriptor(CLIENT_CHARACTERISTIC_CONFIG_DESCRIPTOR_UUID);
	if (descriptor != null) {
		descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
		return gatt.writeDescriptor(descriptor);
	}
	return false;
}
 
開發者ID:runtimeco,項目名稱:Android-DFU-App,代碼行數:19,代碼來源:BleManager.java

示例2: enableIndications

/**
 * Enables indications on given characteristic
 *
 * @return true is the request has been sent, false if one of the arguments was <code>null</code> or the characteristic does not have the CCCD.
 */
protected final boolean enableIndications(final BluetoothGattCharacteristic characteristic) {
	final BluetoothGatt gatt = mBluetoothGatt;
	if (gatt == null || characteristic == null)
		return false;

	// Check characteristic property
	final int properties = characteristic.getProperties();
	if ((properties & BluetoothGattCharacteristic.PROPERTY_INDICATE) == 0)
		return false;

	Logger.d(mLogSession, "gatt.setCharacteristicNotification(" + characteristic.getUuid() + ", true)");
	gatt.setCharacteristicNotification(characteristic, true);
	final BluetoothGattDescriptor descriptor = characteristic.getDescriptor(CLIENT_CHARACTERISTIC_CONFIG_DESCRIPTOR_UUID);
	if (descriptor != null) {
		descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
		Logger.v(mLogSession, "Enabling indications for " + characteristic.getUuid());
		Logger.d(mLogSession, "gatt.writeDescriptor(" + CLIENT_CHARACTERISTIC_CONFIG_DESCRIPTOR_UUID + ", value=0x02-00)");
		return gatt.writeDescriptor(descriptor);
	}
	return false;
}
 
開發者ID:runtimeco,項目名稱:Android-DFU-App,代碼行數:26,代碼來源:BleManager.java

示例3: setCharacteristicIndication

private void setCharacteristicIndication(BluetoothGattCharacteristic characteristic, boolean enabled)
{
    if ( mBluetoothAdapter == null || mBluetoothGatt == null )
    {
        NLog.d("BluetoothAdapter not initialized");
        return;
    }

    mBluetoothGatt.setCharacteristicNotification(characteristic, enabled);

    BluetoothGattDescriptor desc = characteristic.getDescriptor(CONFIG_DESCRIPTOR);
    if ( (characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_INDICATE) == BluetoothGattCharacteristic.PROPERTY_INDICATE )
    {
        // Enabled remote indication
        desc.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
    }
    else if ( (characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_NOTIFY) == BluetoothGattCharacteristic.PROPERTY_NOTIFY)
    {
        desc.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
    }
    else
    {
        NLog.d("Error : Characteristic is not notify or indicate");
        return;
    }
    mBluetoothGatt.writeDescriptor(desc);
}
 
開發者ID:NeoSmartpen,項目名稱:AndroidSDK2.0,代碼行數:27,代碼來源:BTLEAdt.java

示例4: initServer

private void initServer() {
    BluetoothGattService service =new BluetoothGattService(GattProfile.SERVICE_UUID,
            BluetoothGattService.SERVICE_TYPE_PRIMARY);

    //BluetoothGattCharacteristic distanceCharacteristic =
    mDistanceCharacteristic = new BluetoothGattCharacteristic(GattProfile.CHARACTERISIC_UUID,
                    BluetoothGattCharacteristic.PROPERTY_READ | BluetoothGattCharacteristic.PROPERTY_INDICATE,
                    BluetoothGattCharacteristic.PERMISSION_READ);

    service.addCharacteristic(mDistanceCharacteristic);

    mGattServer.addService(service);
}
 
開發者ID:holgi-s,項目名稱:RangeThings,代碼行數:13,代碼來源:GattServer.java

示例5: notifyDevices

public void notifyDevices(BluetoothGattCharacteristic changedCharacteristic) {
	if (!connectedDevices.isEmpty() && gattServer != null) {
		boolean indicate = (changedCharacteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_INDICATE) == BluetoothGattCharacteristic.PROPERTY_INDICATE;
		for (BluetoothDevice device : connectedDevices) {
			gattServer.notifyCharacteristicChanged(device, changedCharacteristic, indicate);
		}
	}
}
 
開發者ID:MB3hel,項目名稱:Quick-Bluetooth-LE,代碼行數:8,代碼來源:BLEServer.java

示例6: isCharacteristicNotify

public static boolean isCharacteristicNotify(int property){
    if ((property & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0
            || (property & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
        return true;
    }
    return false;
}
 
開發者ID:Twelvelines,項目名稱:AndroidMuseumBleManager,代碼行數:7,代碼來源:BluetoothUtils.java

示例7: decodeProperties

public static WritableMap decodeProperties(BluetoothGattCharacteristic characteristic) {

		// NOTE: props strings need to be consistent across iOS and Android
		WritableMap props = Arguments.createMap();
		int properties = characteristic.getProperties();

		if ((properties & BluetoothGattCharacteristic.PROPERTY_BROADCAST) != 0x0 ) {
			props.putString("Broadcast", "Broadcast");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_READ) != 0x0 ) {
			props.putString("Read", "Read");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) != 0x0 ) {
			props.putString("WriteWithoutResponse", "WriteWithoutResponse");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_WRITE) != 0x0 ) {
			props.putString("Write", "Write");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_NOTIFY) != 0x0 ) {
			props.putString("Notify", "Notify");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_INDICATE) != 0x0 ) {
			props.putString("Indicate", "Indicate");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_SIGNED_WRITE) != 0x0 ) {
			// Android calls this "write with signature", using iOS name for now
			props.putString("AuthenticateSignedWrites", "AuthenticateSignedWrites");
		}

		if ((properties & BluetoothGattCharacteristic.PROPERTY_EXTENDED_PROPS) != 0x0 ) {
			props.putString("ExtendedProperties", "ExtendedProperties");
		}

//      iOS only?
//
//            if ((p & CBCharacteristicPropertyNotifyEncryptionRequired) != 0x0) {  // 0x100
//                [props addObject:@"NotifyEncryptionRequired"];
//            }
//
//            if ((p & CBCharacteristicPropertyIndicateEncryptionRequired) != 0x0) { // 0x200
//                [props addObject:@"IndicateEncryptionRequired"];
//            }

		return props;
	}
 
開發者ID:lenglengiOS,項目名稱:react-native-blue-manager,代碼行數:51,代碼來源:Helper.java

示例8: setNotify

private void setNotify(UUID serviceUUID, UUID characteristicUUID, Boolean notify, Callback callback){
	Log.d(LOG_TAG, "setNotify");

	if (gatt == null) {
		callback.invoke("BluetoothGatt is null");
		return;
	}
       if(this.reactContext==null) {
           dataCallback = callback;
       }

	BluetoothGattService service = gatt.getService(serviceUUID);
	BluetoothGattCharacteristic characteristic = findNotifyCharacteristic(service, characteristicUUID);

	if (characteristic != null) {
		if (gatt.setCharacteristicNotification(characteristic, notify)) {

			BluetoothGattDescriptor descriptor = characteristic.getDescriptor(UUIDHelper.uuidFromString(CHARACTERISTIC_NOTIFICATION_CONFIG));
			if (descriptor != null) {

				// Prefer notify over indicate
				if ((characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_NOTIFY) != 0) {
					Log.d(LOG_TAG, "Characteristic " + characteristicUUID + " set NOTIFY");
					descriptor.setValue(notify ? BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE : BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE);
				} else if ((characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_INDICATE) != 0) {
					Log.d(LOG_TAG, "Characteristic " + characteristicUUID + " set INDICATE");
					descriptor.setValue(notify ? BluetoothGattDescriptor.ENABLE_INDICATION_VALUE : BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE);
				} else {
					Log.d(LOG_TAG, "Characteristic " + characteristicUUID + " does not have NOTIFY or INDICATE property set");
				}

				try {
					if (gatt.writeDescriptor(descriptor)) {
						Log.d(LOG_TAG, "setNotify complete");
						callback.invoke();
					} else {
						callback.invoke("Failed to set client characteristic notification for " + characteristicUUID);
					}
				} catch (Exception e) {
					Log.d(LOG_TAG, "Error on setNotify", e);
					callback.invoke("Failed to set client characteristic notification for " + characteristicUUID + ", error: " + e.getMessage());
				}

			} else {
				callback.invoke("Set notification failed for " + characteristicUUID);
			}

		} else {
			callback.invoke("Failed to register notification for " + characteristicUUID);
		}

	} else {
		callback.invoke("Characteristic " + characteristicUUID + " not found");
	}

}
 
開發者ID:lenglengiOS,項目名稱:react-native-blue-manager,代碼行數:56,代碼來源:Peripheral.java

示例9: decodeCharacteristicProperties

public static JSONArray decodeCharacteristicProperties(BluetoothGattCharacteristic characteristic) {

        //NSMutableArray *props = [NSMutableArray new];
        JSONArray props = new JSONArray();

        //CBCharacteristicProperties p = [characteristic properties];
        int p = characteristic.getProperties();

        // NOTE: props strings need to be consistent across iOS and Android


//        if ((p & CBCharacteristicPropertyBroadcast) != 0x0) {
//            [props addObject:@"Broadcast"];
//        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_BROADCAST) != 0x0 ) {
            props.put("Broadcast");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_READ) != 0x0 ) {
            props.put("Read");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) != 0x0 ) {
            props.put("WriteWithoutResponse");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_WRITE) != 0x0 ) {
            props.put("Write");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_NOTIFY) != 0x0 ) {
            props.put("Notify");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_INDICATE) != 0x0 ) {
            props.put("Indicate");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_SIGNED_WRITE) != 0x0 ) {
            // Android calls this "write with signature", using iOS name for now
            props.put("AuthenticateSignedWrites");
        }

        if ((p & BluetoothGattCharacteristic.PROPERTY_EXTENDED_PROPS) != 0x0 ) {
            props.put("ExtendedProperties");
        }

//        iOS only
//
//        if ((p & CBCharacteristicPropertyNotifyEncryptionRequired) != 0x0) {
//            [props addObject:@"NotifyEncryptionRequired"];
//        }
//
//        if ((p & CBCharacteristicPropertyIndicateEncryptionRequired) != 0x0) {
//            [props addObject:@"IndicateEncryptionRequired"];
//        }

        return props;
    }
 
開發者ID:YbrainInc,項目名稱:react-native-ble-quick-sdk,代碼行數:60,代碼來源:PeripheralExtension.java

示例10: decodeProperties

public static JSONArray decodeProperties(BluetoothGattCharacteristic characteristic) {

        // NOTE: props strings need to be consistent across iOS and Android
        JSONArray props = new JSONArray();
        int properties = characteristic.getProperties();

        if ((properties & BluetoothGattCharacteristic.PROPERTY_BROADCAST) != 0x0 ) {
            props.put("Broadcast");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_READ) != 0x0 ) {
            props.put("Read");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) != 0x0 ) {
            props.put("WriteWithoutResponse");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_WRITE) != 0x0 ) {
            props.put("Write");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_NOTIFY) != 0x0 ) {
            props.put("Notify");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_INDICATE) != 0x0 ) {
            props.put("Indicate");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_SIGNED_WRITE) != 0x0 ) {
            // Android calls this "write with signature", using iOS name for now
            props.put("AuthenticateSignedWrites");
        }

        if ((properties & BluetoothGattCharacteristic.PROPERTY_EXTENDED_PROPS) != 0x0 ) {
            props.put("ExtendedProperties");
        }

//      iOS only?
//
//            if ((p & CBCharacteristicPropertyNotifyEncryptionRequired) != 0x0) {  // 0x100
//                [props addObject:@"NotifyEncryptionRequired"];
//            }
//
//            if ((p & CBCharacteristicPropertyIndicateEncryptionRequired) != 0x0) { // 0x200
//                [props addObject:@"IndicateEncryptionRequired"];
//            }

        return props;
    }
 
開發者ID:disit,項目名稱:siiMobilityAppKit,代碼行數:51,代碼來源:Helper.java


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