PrácticaPaso 1 de 9
Manifest y permiso BLUETOOTH_CONNECT
La Activity nueva se llama BluetoothActivity y su interfaz es XML con vistas clásicas, como la de ContadorVistas. La novedad es que algunos eventos ya no vienen de la pantalla, sino del socket.
Solo un permiso
XML
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />BLUETOOTH_CONNECT: necesario para hablar con dispositivos ya emparejados. Es un permiso peligroso, así que además de declararlo se pide en tiempo de ejecución.- Sin
BLUETOOTH_SCAN: no buscamos dispositivos nuevos; usamos los ya emparejados (paso 5 del laboratorio).
Kotlin
private val REQ_BT = 1
private fun pedirPermiso() {
val concedido = ContextCompat.checkSelfPermission(
this, Manifest.permission.BLUETOOTH_CONNECT
) == PackageManager.PERMISSION_GRANTED
if (concedido) cargarEmparejados()
else ActivityCompat.requestPermissions(
this, arrayOf(Manifest.permission.BLUETOOTH_CONNECT), REQ_BT
)
}
override fun onRequestPermissionsResult(
requestCode: Int, permissions: Array<out String>, grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == REQ_BT && grantResults.firstOrNull() == PackageManager.PERMISSION_GRANTED) {
cargarEmparejados()
}
}Fíjate en que la respuesta del usuario al diálogo de permisos también es un evento: onRequestPermissionsResult es un callback que el sistema invoca cuando el usuario decide.
Responde para continuar
0/2TAREA 1
¿Qué permiso declaras en el manifest y pides en tiempo de ejecución para usar los dispositivos emparejados?
Escribe la respuestaFormato de respuesta:
*********_*******TAREA 2
¿Por qué la práctica no pide
Elige una respuestaBLUETOOTH_SCAN?