Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.douglasjunior:AndroidBluetoothLibrary:0.4.0'
}
dependencies {
implementation("com.github.douglasjunior:AndroidBluetoothLibrary:0.4.0")
}
<dependency>
<groupId>com.github.douglasjunior</groupId>
<artifactId>AndroidBluetoothLibrary</artifactId>
<version>0.4.0</version>
</dependency>
libraryDependencies += "com.github.douglasjunior" % "AndroidBluetoothLibrary" % "0.4.0"
:dependencies [[com.github.douglasjunior/AndroidBluetoothLibrary "0.4.0"]]
A Library for easy implementation of Serial Bluetooth Classic and Low Energy on Android. 💙
BluetoothConfiguration config = new BluetoothConfiguration();
config.context = getApplicationContext();
config.bluetoothServiceClass = BluetoothClassicService.class;
config.bufferSize = 1024;
config.characterDelimiter = '\n';
config.deviceName = "Your App Name";
config.callListenersInMainThread = true;
config.uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); // Required
BluetoothService.init(config);
BluetoothConfiguration config = new BluetoothConfiguration();
config.context = getApplicationContext();
config.bluetoothServiceClass = BluetoothLeService.class;
config.bufferSize = 1024;
config.characterDelimiter = '\n';
config.deviceName = "Your App Name";
config.callListenersInMainThread = true;
config.uuidService = UUID.fromString("e7810a71-73ae-499d-8c15-faa9aef0c3f2"); // Required
config.uuidCharacteristic = UUID.fromString("bef8d6c9-9c21-4c9e-b632-bd58c1009f9f"); // Required
config.transport = BluetoothDevice.TRANSPORT_LE; // Required for dual-mode devices
config.uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); // Used to filter found devices. Set null to find all devices.
BluetoothService.init(config);
BluetoothService service = BluetoothService.getDefaultInstance();
service.setOnScanCallback(new BluetoothService.OnBluetoothScanCallback() {
@Override
public void onDeviceDiscovered(BluetoothDevice device, int rssi) {
}
@Override
public void onStartScan() {
}
@Override
public void onStopScan() {
}
});
service.startScan(); // See also service.stopScan();
service.setOnEventCallback(new BluetoothService.OnBluetoothEventCallback() {
@Override
public void onDataRead(byte[] buffer, int length) {
}
@Override
public void onStatusChange(BluetoothStatus status) {
}
@Override
public void onDeviceName(String deviceName) {
}
@Override
public void onToast(String message) {
}
@Override
public void onDataWrite(byte[] buffer) {
}
});
service.connect(device); // See also service.disconnect();
BluetoothWriter writer = new BluetoothWriter(service);
writer.writeln("Your text here");
See the sample project.
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Add the dependency
2.1. Bluetooth Classic
dependencies {
implementation 'com.github.douglasjunior.AndroidBluetoothLibrary:BluetoothClassicLibrary:0.3.5'
}
2.2. Bluetooth Low Energy
dependencies {
implementation 'com.github.douglasjunior.AndroidBluetoothLibrary:BluetoothLowEnergyLibrary:0.3.5'
}
Add permission in AndroidManifest.xml
<manifest ...>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
...
</manifest>
New features, bug fixes and improvements are welcome! For questions and suggestions use the issues.
Before submit your PR, run the gradle check.
./gradlew build connectedCheck
<a href="https://www.patreon.com/douglasjunior"><img src="http://i.imgur.com/xEO164Z.png" alt="Become a Patron!" width="200" /></a>
The MIT License (MIT)
Copyright (c) 2015 Douglas Nassif Roma Junior
See the full licence file.