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 Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No sé si esto te servirá de ejemplo:

Código Delphi [-]
unit MainForm;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;

type
  TForm1 = class(TForm)
    ButtonPrint: TButton;
    procedure ButtonPrintClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.ButtonPrintClick(Sender: TObject);
var
  Intent: JIntent;
begin
  // Crear un Intent para enviar datos a la impresora
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
  Intent.setType(StringToJString('text/plain'));

  // Especificar el texto que deseas imprimir
  Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString('Texto para imprimir'));

  // Enviar el Intent para imprimir
  Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, nil);
  Intent.setPackage(StringToJString('com.android.bluetooth'));

  // Iniciar la actividad para imprimir
  SharedActivity.startActivity(Intent);
end;

end.


Debe estar la impresora emparejada en Android y asegúrate de tener los permisos adecuados para el Bluetooth.
Responder Con Cita
  #2  
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
  #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.107
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
  #4  
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.107
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
  #5  
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
  #6  
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.107
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
  #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
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
Respuesta



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 12:20:38.


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