Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
Ad Appian Europe 2025, l'azienda parla molto della sua visione di cos'è e come dovrebbe essere usata l'intelligenza artificiale: è uno strumento che va sempre adoperato dalle persone, che devono rimanere responsabili dei processi all'interno dell'azienda. Non è un giocattolo con cui sperimentare, ma un aiuto per superare le sfide di business più importanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2007, 23: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, 17: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, 15: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


Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Pazzesco Black Friday Amazon: TV Hisense...
GoPro HERO13 Black: la versione completa...
L'Europa fa retromarcia sugli obblighi p...
Amazon Black Friday: 2 portatili gaming ...
50 idee regalo sotto i 50€, con gli scon...
Ecco un robot Lefant con mappatura laser...
Sundar Pichai (Google): il 'vibe coding'...
Lenovo Legion 7i, con una NVIDIA GeForce...
Sconti fino al 40% sui robot Roborock: l...
Stampante HP quasi regalata per il Black...
POCO lancia due nuovi tablet: ecco Pad X...
Leonardo ha svelato Michelangelo Dome, i...
iPhone Air non convince e i produttori c...
Prime Video supera Netflix in Italia? So...
Qualcomm Snapdragon 8 Elite Gen 6 avr&ag...
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: 10:12.


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