¿Cómo puedo reducir el consumo de energía en una aplicación basada en la ubicación de Android?

¿Cómo puedo reducir el consumo de energía en mi aplicación? ¿Qué código puedo usar para implementar esto?

Hay un par de maneras diferentes de reducir la potencia utilizada al tratar de obtener información de ubicación.

  1. Utilice la última ubicación conocida en lugar de intentar determinar la ubicación actual.

    // Get a Location Manager LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // Try to get the last GPS based location Location l = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); // Fall back to cell tower based location if no prior GPS location if (l == null) { l = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); } 
  2. Utilice un proveedor de ubicación menos costoso. Puede elegir LocationManager.NETWORK_PROVIDER directamente o especificar los criterios que le interesan y dejar que Android le diga qué proveedor de ubicación debe utilizar.

     // Select the criteria you care about Criteria c = new Criteria(); c.setAccuracy(Criteria.ACCURACY_COARSE); c.setPowerRequirement(Criteria.POWER_LOW); // Let the system tell you what provider you should use for your criteria LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); String p = lm.getBestProvider(c, true); // Call other Location Manager functions using the above provider... 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.