Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2007, 22:03   #1
boysna
Senior Member
 
Iscritto dal: Mar 2004
Città: castel san giorgio(salerno)
Messaggi: 1218
Bluetooth in Java: problema discovery.

Ciao ragazzi, tutto bene? Io ho un piccolo problema col Bluetooth in Java. Mi sto avvicinando avvicinando alle librerie javax.bluetooth da poco e ho un problema semplice: devo fare il discovery dei dispositivi bluetooth ma mi rileva sempre lo stesso dispositivo, anche se si trova spento.

Vi posto la classe con il main:
Codice:
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.BluetoothStateException;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.RemoteDevice;

public class MyTest {
	
	public static void main(String[] args) {
		
		DiscoveryAgent agent;
		
		int i=0;
		while(i!=1){
		try {
			MyDiscoveryListener myDiscovery = new MyDiscoveryListener();
			agent = LocalDevice.getLocalDevice().getDiscoveryAgent();
			boolean complete = agent.startInquiry(DiscoveryAgent.PREKNOWN, myDiscovery);
			System.out.println("Stato inquiry: "+ complete);
			i++;
			
		}
		catch (Exception e) {}
		}
	}
}
Mentre questo è la classe MyDiscoveryListener:
Codice:
import javax.bluetooth.DeviceClass;
import javax.bluetooth.DiscoveryListener;
import javax.bluetooth.RemoteDevice;
import javax.bluetooth.ServiceRecord;


public class MyDiscoveryListener implements DiscoveryListener {

	public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass arg1) {
		
		System.out.println("remote device discovered:"+remoteDevice.getBluetoothAddress());
	}

	public void inquiryCompleted(int arg0) {
		System.out.println("Inquiry completed");
		
	}

	public void serviceSearchCompleted(int arg0, int arg1) {
		// TODO Auto-generated method stub
		
	}

	public void servicesDiscovered(int arg0, ServiceRecord[] arg1) {
		// TODO Auto-generated method stub
		
	}

}
Qualcuno sa dirmi cosa non va? Aiutatemi please...
boysna è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2007, 16:51   #2
boysna
Senior Member
 
Iscritto dal: Mar 2004
Città: castel san giorgio(salerno)
Messaggi: 1218
Posto il codice dela classe myTest un po in maniera piu pulita.

Codice:
package de.avetana.bluetooth;


import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.BluetoothStateException;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.RemoteDevice;

public class MyTest {
	
	public static void main(String[] args) {
		
		try{
		LocalDevice localdevice = LocalDevice.getLocalDevice();
		DiscoveryAgent discoveryagent = localdevice.getDiscoveryAgent();
		
		MyDiscoveryListener myDisc = new MyDiscoveryListener();
		discoveryagent.startInquiry(DiscoveryAgent.GIAC,myDisc);
		}
		catch(Exception e){
			e.printStackTrace();
		}		
	}
}
boysna è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2007, 14:06   #3
boysna
Senior Member
 
Iscritto dal: Mar 2004
Città: castel san giorgio(salerno)
Messaggi: 1218
Ragazzi ho trovato un codice Java che implementa proprio quello che serve a me, ma con funzioni aggiuntive. Si chiama "Avetana Bluetooth"
Ho preso solo la parte che serve per fare il discovery e ho fatto il mio codice che ora vi posto:
Codice:
e package de.avetana.bluetooth;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.UUID;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import de.avetana.bluetooth.util.IntDeviceFinder;
import de.avetana.bluetooth.util.ServiceFinderPane;


public class JSRTest extends JFrame implements ActionListener {
	
  private ServiceFinderPane m_servicePanel;
  private JPanel m_rightPanel;
  private JSplitPane m_split;
  private DiscoveryAgent m_agent;
  private LocalDevice m_local;

  public static void main(String[] args) throws Exception {
	     JSRTest JSRTest1 = new JSRTest();
	  }

  public JSRTest() throws Exception {
	  
     super ("Avetana Bluetooth Utility");
     
     try {      
    	 m_local=LocalDevice.getLocalDevice();
         m_agent=m_local.getDiscoveryAgent();
         jbInit();
         pack();  
         setLocationRelativeTo(null);
         setVisible (true);
       
     }
     catch(Exception ex) {JOptionPane.showMessageDialog(null, "An error occured while loading the application!", "Error",JOptionPane.ERROR_MESSAGE);
       ex.printStackTrace();
       System.exit(0);
     }
   }

  
   private void jbInit() throws Exception {
	   
     Container con = this.getContentPane();
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


     JPanel sdp=new JPanel();
     sdp.setLayout(new BorderLayout());
     
     //Parte dove stanno i risultati del discovery
     m_servicePanel=new ServiceFinderPane(this,"lastBTSearchRFComm", new UUID[]{new UUID("3", true)}); 
     m_split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, m_servicePanel,m_rightPanel);
     sdp.add(m_split, BorderLayout.CENTER);
     con.add(sdp, BorderLayout.CENTER);
     this.m_servicePanel.m_select.addActionListener(this);
   }   
  
   public void actionPerformed(ActionEvent e) {   
   }

   
}
Funziona bene ma ho due domande da farvi:
1 - nel PAnel mi rileva solo i dispositivi realmente accesi me nella console escono sempre tutti quelli che ha trovato in precedenza
2 - se nelle vicinanze c'è un nuovo dispositivo che non ha mai trovato, anche se è acceso non lo trova. Solo dopo aver fatto il discovery con il software della chiavetta bluetooth che ho sul pc me lo trova e comincia a funzionare bene rilevando il nuovo dispotivo quando è On, e non rilevandolo quando è OFF.

Qualcuno sa spiegarmi come mai?

Grazie.
boysna è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v