Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2023
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 548
Poder: 17
jhonalone Va por buen camino
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.

Código Delphi [-]
procedure TDevice.ListaDevices;
var
  Msg: string;
  I, B: Integer;

  ListaVinculados: TBluetoothDeviceList;
  LServices: TBluetoothServiceList;
begin

  try
  FBluetoothManager.Create;
   FBluetoothManager.EnableBluetooth;
    FBluetoothManager := TBluetoothManager.Current;
    if FBluetoothManager = nil
    then begin
         Close;
         end;

    FBluetoothManager.SocketTimeout := 100;

    BluetoothAdapter := FBluetoothManager.CurrentAdapter; // Aquí DA FALLO
     ShowMessage('Aquí');   exit;
    if BluetoothAdapter = nil
    then begin
         Close;
         end;

    ListaVinculados := FBluetoothManager.GetPairedDevices(BluetoothAdapter);
    if ListaVinculados = nil
    then begin
         Close;
         end;
         
   ComboDevices.Items.Clear; // Limpiamos cada vez el combo
   
    for I := 0 to ListaVinculados.Count - 1 do
    begin
      Impresora := ListaVinculados[i] as TBluetoothDevice;
      if Impresora.IsPaired then
      begin
        LServices := Impresora.GetServices;
        for B := 0 to LServices.Count - 1 do
        begin
          ServiceGUI := GUIDToString(LServices[b].UUID);
          Guid := LServices[b].UUID;
          ServiceName := LServices[b].Name;
        end;
      end
      else begin
           Close;
           end;
    ComboDevices.Items.Add(Impresora.DeviceName);
    end;
  except
   on E: Exception do
   begin
     Close;
   end;

 end;
 //FBluetoothManager.Destroy;
 if ComboDevices.Items.Count > 0 // Seleccionamos el primero
   then ComboDevices.ItemIndex := 0;

end;
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.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 25-09-2023 a las 12:05:33.
Responder Con Cita
  #2  
Antiguo 25-09-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
Responder Con Cita
  #3  
Antiguo 25-09-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
Responder Con Cita
  #4  
Antiguo 25-09-2023
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 548
Poder: 17
jhonalone Va por buen camino
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.
Código Delphi [-]
// Hasta aquí llega
------------------------------------
  BluetoothAdapter := FBluetoothManager.CurrentAdapter; // Aquí DA FALLO
------------------------------------
// He probado con todos y con parte de ellos
const
  BlueTooth = 'android.permission.BLUETOOTH';
  BlueAdmin ='android.permission.BLUETOOTH_ADMIN';
  BlueConect='android.permission.BLUETOOTH_CONNECT';       //
  BlueScan = 'android.permission.BLUETOOTH_SCAN';           //
  BluePrint ='android.print.BLUETOOTH';
  BluePrivi ='android.permission.BLUETOOTH_PRIVILEGED';
  BlueDebug ='android.permission.BLUETOOTH_DEBUG';
  CorseLocate = 'android.permission.ACCESS_COARSE_LOCATION';
  FineLocate = 'android.permission.ACCESS_FINE_LOCATION';
  BlueSeting ='android.permission.BLUETOOTH_SETTINGS';
  BlueAdvert ='android.permission.BLUETOOTH_ADVERTISE';    //
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #5  
Antiguo 25-09-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira esto.
EDITO: He equivocado el enlace y ahora no encuentro el que quería ponerte.

Última edición por Casimiro Notevi fecha: 25-09-2023 a las 13:26:52.
Responder Con Cita
  #6  
Antiguo 26-09-2023
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 548
Poder: 17
jhonalone Va por buen camino
No importa, Gracias.
Creo que estoy en vias de encontrar una solución.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #7  
Antiguo 26-09-2023
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 548
Poder: 17
jhonalone Va por buen camino
¿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.
Prueba BLUETOOTH BUENA.zip
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con SQLite en Android 7.1.1 cancun Desarrollo en Delphi para Android 4 02-09-2023 18:32:53
Problema con TMemo en Android 6.0.1 jhonalone Desarrollo en Delphi para Android 20 28-11-2018 19:20:16
problema con XMLDocument en android farute Desarrollo en Delphi para Android 2 07-02-2018 19:44:01
Problema con Android 5.0 y delphi xe8 Galahad FireMonkey 8 12-10-2015 17:57:50
¿Scan dispositivos Bluetooth en Android? NPIdea Desarrollo en Delphi para Android 6 20-11-2014 07:57:41


La franja horaria es GMT +2. Ahora son las 15:27:18.


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
Copyright 1996-2007 Club Delphi