Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

652
Views
android studio kotlin - bluetooth "HABILITAR SOLICITUD DE ACCIÓN" no funciona

Después de iniciar mi programa, haga clic en el botón, la aplicación se cae. Cuando probé tutoriales de otros desarrolladores, Google, ... no resuelve el problema. Estoy ignorando que startActivityForResult() está en desuso, quiero pedirle al usuario que active el bluetooth, eso es todo.

El problema está en el dispositivo con Android 12.

Aquí está mi permiso del archivo de manifiesto:

 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

Aquí está mi código de MainActivity.kt

 package com.example.piratsilnic import android.bluetooth.BluetoothAdapter import android.bluetooth.BluetoothManager import android.content.Context import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val BTadapter = getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager BTadapter.getAdapter() var REQUEST_ENABLE_BT = 1 val sparovatButton = findViewById<Button>(R.id.sparovatButton) sparovatButton.setOnClickListener{ if (BTadapter != null) { if (BTadapter.adapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) } if (BTadapter.adapter.isEnabled) { Toast.makeText(this, "bluetooth on", Toast.LENGTH_LONG).show() } } else { Toast.makeText(this, "Device doesnt support bluetooth", Toast.LENGTH_LONG).show() } } } }

estoy un poco perdido... gracias por la ayuda...

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede usar la nueva registerForActivityResult() Para obtener más información al respecto, hay una buena guía en developer.android.com: Obtener un resultado de una actividad

Primero necesitaría registrar su devolución de llamada:

 val registerForResult = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { result -> if (result.resultCode == Activity.RESULT_OK) { val intent = result.data // Handle the Intent } }

Luego, dentro de su onClickListener lo ejecutaría.

 if (BTadapter.adapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) regiterForResult.launch(enableBtIntent) }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!