Search This Blog

Friday, 27 April 2012

How to get Location of device using GPS in Blackberry

Hello,
          So here is the code for getting current Location of the device using GPS.You may use a timer and use this code for Live Tracking.

Code:

    _timer = new Timer();
            _timerTask = new TimerTask(){
                public void run() {
                    try {
        _criteria = new BlackBerryCriteria();
        _locationProvider =  (BlackBerryLocationProvider)LocationProvider.getInstance(_criteria);
   _location = (BlackBerryLocation)_locationProvider.getLocation(-1);
                                        }catch(Exception e){
                        System.out.println("Error : "+e.toString());
                    }
                       
                    _imei =GPRSInfo.imeiToString(GPRSInfo.getIMEI(), false);<to get the imei of the device>
                     if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS)){
                           _criteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS);
                                           }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CDMA_ACCURACY_OPTIMAL)){
                           _criteria.setMode(GPSInfo.GPS_MODE_CDMA_ACCURACY_OPTIMAL);
                                                }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_BT)){
                           _criteria.setMode(GPSInfo.GPS_MODE_BT);
                                                }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_ASSIST)){
                           _criteria.setMode(GPSInfo.GPS_MODE_ASSIST);
                                                }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CDMA_DATA_OPTIMAL)){
                           _criteria.setMode(GPSInfo.GPS_MODE_CDMA_DATA_OPTIMAL);
                                                  }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CDMA_MS_ASSIST)){
                           _criteria.setMode(GPSInfo.GPS_MODE_CDMA_MS_ASSIST);
                                               }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CDMA_MS_BASED)){
                           _criteria.setMode(GPSInfo.GPS_MODE_CDMA_MS_BASED);
                                                 }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CDMA_SPEED_OPTIMAL)){
                           _criteria.setMode(GPSInfo.GPS_MODE_CDMA_SPEED_OPTIMAL);
                                                }else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CELLSITE)){
                           _criteria.setMode(GPSInfo.GPS_MODE_CELLSITE);
                                                  }else{
                           UiApplication.getUiApplication().invokeLater(new Runnable(){

                            public void run() {
                                Dialog.alert("Please Enable your GPS.");  
                            }
                            });
                            }
                                                                            try{
                        _criteria.setHorizontalAccuracy(5);
                        _criteria.setVerticalAccuracy(5);
                        _criteria.setPreferredResponseTime(30000);
                       
                                      
                    _locationProvider = (BlackBerryLocationProvider)LocationProvider.getInstance(_criteria);
                    _location = (BlackBerryLocation)_locationProvider.getLocation(-1);
                    _lat = _location.getQualifiedCoordinates().getLatitude();<fetch latitude in a varible >
                    _lon = _location.getQualifiedCoordinates().getLongitude();<fetch longitude in a variable>
                                      }catch(Exception e){
                        System.out.println("Error cant write on port");
                    }
                     System.out.println("Successfull");
                       }}catch(final Exception e){
                        UiApplication.getUiApplication().invokeLater(new Runnable(){
                            public void run() {
//                                Dialog.alert("Error :"+e.toString());
                            }
                        });
                        }
                        }
                };
            _timer.scheduleAtFixedRate(_timerTask,60000,_time);

No comments:

Post a Comment