Practise BLE no

This commit is contained in:
MrApple100 2024-08-20 19:16:13 +03:00
parent a9564bb441
commit f226b386f8
2 changed files with 4 additions and 34 deletions

View File

@ -45,10 +45,7 @@ class BluetoothScanner(activityViewModel: ActivityViewModel, private val context
fun createScanSettings():ScanSettings{ fun createScanSettings():ScanSettings{
TODO()//Реализовать метод создания ScanSetting с настройками Балансированного режима сканирования и немедленной показе результатов сканирования TODO()//Реализовать метод создания ScanSetting с настройками Балансированного режима сканирования и немедленной показе результатов сканирования
return ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_BALANCED)
.setReportDelay(0)
.build()
} }
fun startScan(filters: ArrayList<ScanFilter>) { fun startScan(filters: ArrayList<ScanFilter>) {
if (!mScanning) { if (!mScanning) {

View File

@ -211,9 +211,7 @@ class MainActivity : AppCompatActivity() {
fun createScanFilter(name:String):ScanFilter{ fun createScanFilter(name:String):ScanFilter{
TODO()//Реализовать createScanFilter - Создание scan filter по имени TODO()//Реализовать createScanFilter - Создание scan filter по имени
return ScanFilter.Builder()
.setDeviceName(name)
.build()
} }
fun Scanning(){ fun Scanning(){
println("Scanning") println("Scanning")
@ -274,15 +272,7 @@ class MainActivity : AppCompatActivity() {
fun floatAAToByteArray(floatAA: ArrayList<ArrayList<Float>>):ByteArray{ fun floatAAToByteArray(floatAA: ArrayList<ArrayList<Float>>):ByteArray{
TODO()//Реализовать метод перевода из массива вещественных чисел к массиву байтов TODO()//Реализовать метод перевода из массива вещественных чисел к массиву байтов
var value :ByteArray? = null
value = ByteArray(floatAA.size*floatAA[0].size*Float.SIZE_BYTES)
val buffer = ByteBuffer.wrap(value)
for (i in floatAA.indices){
for(j in floatAA[0].indices){
buffer.putFloat(floatAA[i][j])
}
}
return value
} }
fun Position1(){ fun Position1(){
@ -304,29 +294,12 @@ class MainActivity : AppCompatActivity() {
} }
fun Position2(){ fun Position2(){
TODO()//Реализать метод Position2 для передачи массива вещественных чисел на (третью характеристику) [0.3, 2, 4.5, 2, 0.4] TODO()//Реализать метод Position2 для передачи массива вещественных чисел на (третью характеристику) [0.3, 2, 4.5, 2, 0.4]
val pos1 = arrayListOf<kotlin.collections.ArrayList<Float>>(arrayListOf(0.3f, 2f, 4.5f, 2f, 0.4f ))
val characteristic = service.getCharacteristic(service.characteristics[2].uuid)
Log.d(TAG,characteristic.uuid.toString())
var value :ByteArray? = floatAAToByteArray(pos1)
characteristic.value = value!!
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && ActivityCompat.checkSelfPermission(
this@MainActivity,
Manifest.permission.BLUETOOTH_CONNECT
) != PackageManager.PERMISSION_GRANTED
) {
return
}
gatt!!.writeCharacteristic(characteristic)
} }
fun createPairingIntent(device:BluetoothDevice?):Intent{ fun createPairingIntent(device:BluetoothDevice?):Intent{
TODO()//метод должен отправить intent для запроса присоединения к устройству с вводом пин кода TODO()//метод должен отправить intent для запроса присоединения к устройству с вводом пин кода
val intent = Intent(BluetoothDevice.ACTION_PAIRING_REQUEST)
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device)
intent.putExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.PAIRING_VARIANT_PIN)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
return intent
} }