Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
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: 18:42.


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