yunkai-ionic-native v0.0.1
Yunkai Ionic Native
基于 https://github.com/driftyco/ionic-native.git 创建的云凯私有插件。
Plugins
- PatrolBLE: 巡更蓝牙插件。
Promises and Observables
Ionic Native wraps plugin callbacks in a Promise or Observable, providing a common interface for all plugins and ensuring that native events trigger change detection in Angular 2.
import { Geolocation } from 'ionic-native';
Geolocation.getCurrentPosition().then(pos => {
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
let watch = Geolocation.watchPosition().subscribe(pos => {
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
// to stop watching
watch.unsubscribe();
Angular 1
Ionic Native works as a stand-in for ngCordova. In many cases, the usage is identical, but we import ionic.native
instead of ngCordova
as our module.
As a rule of thumb: take the ES6 class name of the plugin and add $cordova
to get the service name. For example, Geolocation
would be $cordovaGeolocation
, and Camera
will be $cordovaCamera
:
angular.module('myApp', ['ionic', 'ionic.native'])
.controller('MyCtrl', function($scope, $cordovaCamera) {
$scope.takePicture = function() {
$cordovaCamera.getPicture(opts).then(function(p) {
}, function(err) {
});
};
});
For services that return observables, the Angular 1 digest cycle must be done manually (currently):
angular.module('myApp', ['ionic', 'ionic.native'])
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
$scope.takePicture = function() {
$cordovaGeolocation.watchPosition(opts).subscribe(function(p) {
$scope.$apply(function() {
$scope.position = p.coords;
});
}, function(err) {
});
};
});
Runtime Diagnostics
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Ionic Native lets you know what the issue is and how you can resolve it.
Installation
Run following commmand to install ionic-native in your project.
npm install yunkai-ionic-native --save
Plugin Missing?
Let us know or submit a PR! Take a look at the Developer Guide for more on how to contribute. :heart:
Ionic Native Credits
Ibby Hadeed - @ihadeed
Tim Lancina - @timlancina
Max Lynch - @maxlynch
Rob Wormald - @robwormald
7 years ago