Socket
Socket
Sign inDemoInstall

cordova-plugin-proximity

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cordova-plugin-proximity

This plugin provides access to the device's (IR) proximity sensor. This sensor is typically used in applications to prevent touch events on the screen when the device is held close to one's face.


Version published
Weekly downloads
7
decreased by-36.36%
Maintainers
1
Install size
35.3 kB
Created
Weekly downloads
 

Readme

Source

org.awokenwell.proximity

This plugin provides access to the device's (IR) proximity sensor. This sensor is typically used in applications to prevent touch events on the screen when the device is held close to one's face.

Installation

cordova plugin add https://github.com/awoken-well/cordova-plugin-proximity.git

Supported Platforms

  • iOS
  • Android

Methods

  • navigator.proximity.getProximityState
  • navigator.proximity.enableSensor
  • navigator.proximity.disableSensor

navigator.proximity.getProximityState

Get the current proximity sensor state: true = near, false = far.

This proximity state is returned to the 'successCallback' callback function.

navigator.proximity.getProximityState(successCallback);

navigator.proximity.enableSensor

Enable the proximity sensor. In iOS the proximity sensor is disabled by default and must be enabled manually.

navigator.proximity.enableSensor();

navigator.proximity.disableSensor

Disable the proximity sensor.

navigator.proximity.disableSensor();

Example 1

function onSuccess(state) {
    alert('Proximity state: ' + (state ? 'near' : 'far'));
};

navigator.proximity.enableSensor();

setInterval(function(){
  navigator.proximity.getProximityState(onSuccess);
}, 1000);

Example 2

This example shows a watcher. If other things approaches the phone, 'on_approch_callback' would be called.

var proximitysensor = {
};

var proximitysensorWatchStart = function(_scope, on_approch_callback) {
    if(navigator.proximity == null)
        console.log("cannot find navigator.proximity");

    navigator.proximity.enableSensor();

    // Start watch timer to get proximity sensor value
    var frequency = 100;
    _scope.id = window.setInterval(function() {
        navigator.proximity.getProximityState(function(val) { // on success
            var timestamp = new Date().getTime();
            if(timestamp - _scope.lastemittedtimestamp > 1000) { // test on each 1 secs
                if( proximitysensor.lastval == 1 && val == 0 ) { // far => near changed
                    _scope.lastemittedtimestamp = timestamp;
                    _scope.lastval = val;
                    on_approch_callback(timestamp);
                }
            }
            _scope.lastval = val;
        });
    }, frequency);
}

var proximitysensorWatchStop = function(_scope) {
    if(navigator.proximity == null)
        console.log("cannot find navigator.proximity");

    window.clearInterval( _scope.id );

    navigator.proximity.disableSensor();
};

proximitysensorWatchStart(proximitysensor, function(timestamp) {
   console.log('approched on ' + timestamp);
});

// .... after testing
//proximitysensorWatchStop(proximitysensor);

iOS Quirks

  • iOS will automatically dim the screen and disable touch events when the proximity sensor is in the 'near' state. This can be circumvented by using undocumented API calls, but will result in App Store rejection.

Keywords

FAQs

Last updated on 12 Dec 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc