6. API de Dispositivos

Vibración

La mayoría de los dispositivos modernos pueden vibrar a través del hardware, esto permite que a través del código de software se pueda emitir estas vibraciones. La Vibration API ofrece a las aplicaciones web la capacidad de acceder a este hardware en caso este lo soporte, caso contrario el dispositivo no hace nada.

Vibración se puede describir como un patrón de prender y apagar pulsos, los cuales pueden variar en longitud. El patrón puede consistir de un sólo número que indica cuantos milisegundos vibrará, o un arreglo de enteros describiendo un patrón de vibraciones y pausas. La vibración es controlada por un solo método:

  navigator.vibrate(500); // 500ms de vibración

Dicho método devuelve false si el dispositivo en cuestión no soporta la vibración

  if ('vibrate' in navigator)
    navigator.vibrate(500); // 500ms de vibración

La vibración puede ser simple, como en el ejemplo anterior o en patrones:

  if ('vibrate' in navigator)
    navigator.vibrate([100,30,100,30,100,200,200,30,200,30,200,200,100,30,100,30,100]);
    // Patrón de vibración de S.O.S.

Uso

  • Su uso principal es para las notificaciones de aplicaciones
  • También se usa en juegos o explosiones en multimedia
  • Como es lógico se pide un uso responsable de esta API, ya que gasta batería del usuario o puede resultar incómodo.

Batería

La API de Estado de Batería, también conocida como "Battery API", provee información acerca del sistema de carga de la batería y permite notificar mediante eventos que son enviados cuando el nivel de la batería cambia. Este puede ser usado para ajustar el uso de recursos por parte de una aplicación y evitar un gasto innecesario de energía cuando la batería esta baja o para guardar cambios en un archivo antes de que la batería se agote y así prevenir perdida de información.

var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;

function updateBatteryStatus() {
  console.log("Battery status: " + battery.level * 100 + " %");

  if (battery.charging) {
    console.log("Battery is charging");
  }
}

battery.addEventListener("chargingchange", updateBatteryStatus);
battery.addEventListener("levelchange", updateBatteryStatus);
updateBatteryStatus();

Acelerómetro

Cada vez más, los dispositivos habilitados portátiles son capaces de determinar su posición; Es decir, pueden reportar datos que indican cambios en su posición con relación a la atracción de la gravedad. En particular, los dispositivos manuales tales como teléfonos móviles pueden utilizar esta información para girar automáticamente la pantalla.

window.addEventListener('devicemotion', function(e) {
  document.getElementById('accelx').value = e.acceleration.x;
  document.getElementById('accely').value = e.acceleration.y;
  document.getElementById('accelz').value = e.acceleration.z;
});

results matching ""

    No results matching ""