本文整理匯總了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;
}
示例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;
}
示例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);
}
示例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);
}
示例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);
}
}
}
示例6: isCharacteristicNotify
public static boolean isCharacteristicNotify(int property){
if ((property & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0
|| (property & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
return true;
}
return false;
}
示例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;
}
示例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");
}
}
示例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;
}
示例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;
}