![]() |
Problema BlueTooth Android 12
1 Archivos Adjunto(s)
Hola amigos.
Vergüenza siento de tener que volver a solicitar vuestra ayuda. Como siempre, antes de molestaros he buscado y rebuscado todo lo posible y lo imposible. No he hallado solución y me extraña que nadie haya tenido este problema aún. Tengo una app que utiliza algunas funciones de bluetooth, como : Y además otras acciones utilizadas para imprimir via bluetooth. Como a partir de la versión de android 11 o 12 más o menos esto no me funciona he desarrollado una app de prueba para ver si lo conseguía. Como soy incapaz de conseguir que fuencione, os pido ayuda. Adjunto podeis descargar la app de prueba para hacero una idea de lo que ocurre. Gracias anticipadas por vuestra ayuda. Saludos cordiales. Archivo Adjunto 4117 |
No sé si esto te servirá de ejemplo:
Debe estar la impresora emparejada en Android y asegúrate de tener los permisos adecuados para el Bluetooth. |
Muchas gracias Casimiro.
Es interesante para enviar texto a una impresora de escritorio por bluetooth.. Yo lo estoy enviando a una portátil en plan ticket, pero por bluetooth. El problema está precisamente con los permisos. Han cambiado desde la versión 12, según Google pero aunque le das los permisos, se cae el programa en la línea que indico en el adjunto. He intentado darle todos los permisos que indica Google, pero nada. Siempre se cae en el mismo punto. Este es el texto y el punto donde se cae el programa En la versión 9 funciona perefecto. La prueba del adjunto la estoy usando a ver si consigo comunicar en la versión 13. El problema es muy parecido al de mi último post. Saludos. |
No sé qué permisos estás usando, pero creo que para bluetooth no han cambiado.
De memoria te diría que ACCESS_FINE_LOCATION, PERMISSION_ACCESS_COARSE_LOCATION, BLUETOOTH_SCAN y BLUETOOTH_CONNECT |
Si el SDK >= 31 entonces los permisos deben ser BLUETOOTH_SCAN, BLUETOOTH_CONNECT y PERMISSION_ACCESS_FINE_LOCATION
En caso contrario basta con PERMISSION_ACCESS_FINE_LOCATION |
Casimiro, he probado lo improbable.
Estoy empezando a sospechar que el problema quizá sea de la versión de Delphi 11.0 que estoy usando.
|
Mira esto.
EDITO: He equivocado el enlace y ahora no encuentro el que quería ponerte. |
No importa, Gracias.
Creo que estoy en vias de encontrar una solución. |
1 Archivos Adjunto(s)
¿SOLUCIONADO...?
Casi... Casi... Siempre sale alguna meiga por ahí. Ahora, he puesto los nuevos permisos en AndroidManifest.template.xml y he seguido las instrucciones de Google en este enlace. Quizá le sobren algunos permisos, pero... "por mucho pan, nunca es mal año" Hablando de las meigas... cuando la app está abierta, despues de unos segundos, el terminal emite un mensaje diciendo que "No responde. Cerrar o esperar" y en ésas estamos. Podéis descargar y probar la app con sus fuentes en el adjunto. Por si el tema le ayuda a alguien. Archivo Adjunto 4119 Saludos. |
Claro, daba por hecho que ponías los permisos en el "manifest".
No puedo probarlo porque no tengo un delphi con android. |
Cita:
Te sugiero seleccionarlos eligiendo antes que todo la plataforma Android después irte a Project>Options>Uses Permissions y ahí marcar todos los permisos que va a usar tu aplicación y de igual forma al momento de construirse dichos permisos irán declarados en el manifest de manera automática. Desconozco si ya depuraste, pero hay algo muy extraño o al menos me ocurre a mí que en la versión comunitaria de Delphi no se muestran las excepciones y simplemente se cierra el depurador. Saludos cordiales. |
1 Archivos Adjunto(s)
Muchas gracias. Dani.
Espero que la versión que hayas bajado sea la última. Utilizo Delphi 11.0. Algunos de los permisos nuevos, los he tenido que declarar en el Manifest directamente, porque no aparecen en la lista de Project>Options>Uses Permissions La última versión funciona correctamente. Archivo Adjunto 4120 Ahora tengo un problema nuevo: como el terminal (Android 13) tarda en encontrar los dispositivos, genera un error en el dispositivo de "PruebaBluetooth no responde" "Cerrar aplicación" "Esperar". Esto ocurren en Android 13, en otro terminal con Android 9 no ocurre. (También tarda un poco en detectar los dispositivos) He desarrollado un simple programa para asegurarme de que el error depende de la espera y he confirmado que me salta el mismo error.
No sé como evitar el mensaje. Quizá abra un nuevo hilo para ver si alguien lo ha resuelto. Un efusivo saludo. |
Cita:
Prueba algo como esto:
Considero que en tu caso deberás meter el código de la búsqueda en un hilo en segundo plano pero no te olvides de hacer el synchronize a los objetos visuales... Resumen para usar un hilo (Thread):
Saludos cordiales! |
Hola, Dani.
No estoy familiarizado con los hilos TThread. Intentaré implementarlo y te contaré. Si me veo obligado y no soy capaz, te rogaría que me ayudaras implementándolo en el procedimiento que me originó el problema y yo ya lo trasladaría a otros problemas similales. Gracias. Un saludo muy efusivo. |
Miles de gracias Dani, por tus aportaciones y, sobre todo, por tu tiempo y tu interés
Funciona perfecto. Ya no salta el mensje de esperar/cerrar. Sólo una meiga: el programa no cierra con el boón vkHardwareBack del dispositivo. Bueno, la meiga se solucionó con esto A ver si soy capaz de implementarlo en el procedimiento de la lista de pareados por bluetooth. Gracias nuevamente. Un saludo muy cordial. |
Gracias otra vez, dani36652.
Basado en tus explicaciones y tus consejos he conseguido resolver mis 2 problemas: 1) Acceder a los ficheros internos en Android 13 aqui. 2) Eliminar el mensaje de que la aplicación "No responde. Esperar o Cerrar" aqui Lo publico porque creo que puede haber alguien que pueda tener el mismo problema. Es mi costrunbre. Saludos muy cordiales. |
La franja horaria es GMT +2. Ahora son las 13:09:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi