Échantillon de code : utilisation de la classe BlackBerryLocation pour récupérer des informations de satellite
import net.rim.device.api.gps.*;
import java.util.*;
import javax.microedition.location.*;
public class handleGPS
{
static GPSThread gpsThread;
static int satCount;
static int signalQuality;
static int dataSource;
static int gpsMode;
public handleGPS()
{
gpsThread = new GPSThread();
gpsThread.start();
}
private static class GPSThread extends Thread
{
public void run()
{
try
{
BlackBerryCriteria myCriteria =
new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS);
try
{
BlackBerryLocationProvider myProvider =
(BlackBerryLocationProvider)
LocationProvider.getInstance(myCriteria);
try
{
BlackBerryLocation myLocation =
(BlackBerryLocation)myProvider.getLocation(300);
satCount= myLocation.getSatelliteCount();
signalQuality =
myLocation.getAverageSatelliteSignalQuality();
dataSource = myLocation.getDataSource();
gpsMode = myLocation.getGPSMode();
SatelliteInfo si;
StringBuffer sb = new StringBuffer("[Id:SQ:E:A]\n");
String separator = ":";
for (Enumeration e = myLocation.getSatelliteInfo();
e!=null && e.hasMoreElements(); )
{
si = (SatelliteInfo)e.nextElement();
sb.append(si.getId() + separator);
sb.append(si.getSignalQuality() + separator);
sb.append(si.getElevation() + separator);
sb.append(si.getAzimuth());
sb.append('\n');
}
}
catch ( InterruptedException iex )
{
return;
}
catch ( LocationException lex )
{
return;
}
}
catch ( LocationException lex )
{
return;
}
}
catch ( UnsupportedOperationException uoex )
{
return;
}
return;
}
}
}
Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.