Cordova - Acelerômetro
O plugin do acelerômetro também é chamado de device-motion. É usado para rastrear o movimento do dispositivo em três dimensões.
Etapa 1 - Instale o plug-in do acelerômetro
Vamos instalar este plugin usando cordova-CLI. Digite o seguinte código nocommand prompt janela.
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugindevice-motion
Etapa 2 - Adicionar botões
Nesta etapa, vamos adicionar dois botões no index.htmlArquivo. Um será usado para obter a aceleração atual e o outro observará as mudanças de aceleração.
<button id = "getAcceleration">GET ACCELERATION</button>
<button id = "watchAcceleration">WATCH ACCELERATION</button>
Etapa 3 - Adicionar ouvintes de eventos
Vamos agora adicionar ouvintes de eventos para nossos botões para onDeviceReady função dentro index.js.
document.getElementById("getAcceleration").addEventListener("click", getAcceleration);
document.getElementById("watchAcceleration").addEventListener(
"click", watchAcceleration);
Etapa 4 - Criação de funções
Agora, vamos criar duas funções. A primeira função será usada para obter a aceleração atual e a segunda função irá observar a aceleração e as informações sobre a aceleração serão disparadas a cada três segundos. Também adicionaremos oclearWatch função envolvida pelo setTimeoutfunção para parar de assistir a aceleração após o período de tempo especificado. ofrequency parâmetro é usado para acionar a função de retorno de chamada a cada três segundos.
function getAcceleration() {
navigator.accelerometer.getCurrentAcceleration(
accelerometerSuccess, accelerometerError);
function accelerometerSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
function accelerometerError() {
alert('onError!');
};
}
function watchAcceleration() {
var accelerometerOptions = {
frequency: 3000
}
var watchID = navigator.accelerometer.watchAcceleration(
accelerometerSuccess, accelerometerError, accelerometerOptions);
function accelerometerSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
setTimeout(function() {
navigator.accelerometer.clearWatch(watchID);
}, 10000);
};
function accelerometerError() {
alert('onError!');
};
}
Agora, se pressionarmos o GET ACCELERATIONbotão, obteremos o valor de aceleração atual. Se pressionarmos oWATCH ACCELERATIONbotão, o alerta será acionado a cada três segundos. Depois que o terceiro alerta é mostrado,clearWatch A função será chamada e não receberemos mais alertas, pois definimos o tempo limite para 10.000 milissegundos.