Determining the speed of a vehicle using GPS in android

后端 未结 4 1742
轻奢々
轻奢々 2020-12-07 09:18

I would like to know how to get the speed of a vehicle using your phone while seated in the vehicle using gps. I have read that the accelerometer is not very accurate. Anoth

4条回答
  •  半阙折子戏
    2020-12-07 09:57

    public class MainActivity extends Activity implements LocationListener {
    

    add implements LocationListener next to Activity

    LocationManager lm =(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
            lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
            this.onLocationChanged(null);
    

    LocationManager.GPS_PROVIDER, 0, 0, The first zero stands for minTime and the second one for minDistance in which you update your values. Zero means basically instant updates which can be bad for battery life, so you may want to adjust it.

         @Override
        public void onLocationChanged(Location location) {
    
        if (location==null){
             // if you can't get speed because reasons :)
            yourTextView.setText("00 km/h");
        }
        else{
            //int speed=(int) ((location.getSpeed()) is the standard which returns meters per second. In this example i converted it to kilometers per hour
    
            int speed=(int) ((location.getSpeed()*3600)/1000);
    
            yourTextView.setText(speed+" km/h");
        }
    }
    
    
    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub
    
    }
    
    
    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub
    
    }
    
    
    @Override
    public void onProviderDisabled(String provider) {
    
    
    }
    

    Don't forget the Permissions

     
    

提交回复
热议问题